pat*_*g94 1 javascript file filereader
我正在使用 FileReader 进行简单的文件文本上传。
var filesInput = document.getElementById("txtImport");
for (var i = 0; i < filesInput.files.length; i++) {
current = filesInput.files[i];
var reader = new FileReader();
reader.onload = function(file) {
return function(e) {
console.log('e', e) // not logging
}
}(current)
}
Run Code Online (Sandbox Code Playgroud)
在使用结果和参数读取 FileReader onload时,我需要使用闭包以免丢失循环内的范围。当我点击按钮触发上传时,为什么没有出现日志?为什么该函数没有触发?
您需要调用以下readAs___方法之一FileReader:
https://developer.mozilla.org/en-US/docs/Web/API/FileReader
如果您并行读取多个文件,则每个文件都需要一个单独的读取器。
此外,事件处理程序接收的参数是事件对象,而不是文件的内容。那些将在reader.result.
for (var i = 0; i < filesInput.files.length; i++) {
let reader = new FileReader();
reader.onload = function(event) {
console.log(reader.result);
}
reader.readAsText(filesInput.files[i]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2748 次 |
| 最近记录: |