gpt4 book ai didi

javascript - 文件读取器异步加载文件后获取文件名

转载 作者:IT老高 更新时间:2023-10-28 21:55:20 25 4
gpt4 key购买 nike

我正在一个目录中加载几个文件,以便从中解析一些数据。到目前为止,这很好用,但我想知道我正在查看哪个文件。所以我需要文件加载后的名称。有人可以帮忙吗?

//获取目录下的所有文件

function updateData(){
var dirReader = approot.createReader();

var fail =failCB('Error - Directory for parsing failed to open'); // logs fail...
dirReader.readEntries(parseData,fail);
}

//加载每个文件

function parseData(entries){
var i;
for (i=0; i<entries.length; i++) {
var reader = new FileReader();
reader.onloadend = createListItem;
reader.readAsText(entries[i]);
}
}

//在这里我想知道这个名字!!!!

function createListItem(evt){
// it gives me all the loaded data. But based on which file it was, I would like to handle it!
console.log(evt.target.result)
// lets say something like this
$('#content').find( file.name ).append(evt.target.result);
}
}

最佳答案

围绕 File 创建一个闭包来捕获当前文件。然后你可以得到文件名。

一个例子:http://www.html5rocks.com/en/tutorials/file/dndfiles/#toc-reading-files

关闭捕获文件信息。

function parseData(entries){
for (var i=0; i<entries.length; i++) {
reader.onloadend = (function(file) {
return function(evt) {
createListItem(evt, file)
};
})(entries[i]);
reader.readAsText(entries[i]);
}
}

并且被调用的函数得到一个额外的参数

function createListItem(evt, file) {
console.log(evt.target.result)
console.log(file.name);
}

关于javascript - 文件读取器异步加载文件后获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12546775/

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