Uncaught TypeError: Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'
Всем привет, мне нужно прочитать txt файл, и напечатать его в консоль и textarea. При попытке вылезает ошибка:
Uncaught TypeError: Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'.
html:
function openfile(input) {
let file = input.files[0];
let reader = new FileReader();
reader.readAsText(file);
let text = reader.result;
reader.onload = function() {
console.log(text);
document.getElementById("ta").innerHTML = reader.result;
}
}
<input id="fileInput" type="file" style="display:none;" onclick="openfile(this)" accept=".txt" />
<a onclick="document.getElementById('fileInput').click();">Open</a>
<textarea id="ta" placeholder="Write something here..."></textarea>
Ответы (1 шт):
Автор решения: Stepan Kasyanenko
→ Ссылка
Надо использовать на input событие onchange.
function openfile(input) {
let file = input.files[0];
let reader = new FileReader();
reader.onload = function() {
let text = reader.result;
console.log(text);
document.getElementById("ta").innerHTML = text;
}
reader.readAsText(file);
}
<input id="fileInput" type="file" style="display:none;" onchange="openfile(this)" accept=".txt" />
<a onclick="document.getElementById('fileInput').click();">Open</a>
<textarea id="ta" placeholder="Write something here..."></textarea>