gpt4 book ai didi

javascript - 通过 FileAPI 上传文件

转载 作者:行者123 更新时间:2023-11-28 02:10:31 24 4
gpt4 key购买 nike

我需要将多个文件读取到一个函数 A 中。我需要为此使用 FileAPI。但是 FileReader 执行异步下载。是否可以在不退出的情况下获取函数A末尾所有文件的内容?

最佳答案

完全清楚,FileReader 没有下载任何内容。它以异步方式将文件内容(因为它出现在磁盘上)读入内存。

要做你想做的,只需跟踪读取的文件并在它们全部完成时调用回调:

document.querySelector('[type="file"]').change = function(e) {
handleFiles(toArray(e.target.files), function(results) {
// results is an Array containing the FileReader results.
alert('Done!');
});

function toArray(list) {
return Array.prototype.slice.call(list || [], 0);
}

function handleFiles(files, callback) {
var results = [];

files.forEach(function(file, i) {
var reader = new FileReader();

// Closure to capture the file information.
reader.onload = function(e) {
results.push(e.target.result);
if (results.length == files.length) {
callback(results);
}
};
reader.readAsDataURL(file);
});
}

试一试:http://jsbin.com/epatel/3/edit#html,live

关于javascript - 通过 FileAPI 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com