我需要读取一些csv文件,由用户提供。使用拖放div将文件传递到页面/脚本,该div按如下方式处理文件放置:
function handleFileDrop(evt) {
evt.stopPropagation();
evt.preventDefault();
var files = evt.dataTransfer.files; // FileList object.
...
}
我需要使用csv库解析每个文件,该库将其转换为数组,但我还需要跟踪当前正在解析的文件名。下面是我用来解析每个文件的代码:
for(var x = 0; x < files.length; x++){
var currFile = files[x];
var fileName = currFile.name;
var reader = new FileReader();
reader.onload = (function(theFile){
return function(e){
var csvArr = CSV.csvToArray( e.target.result, ";", true );
console.log(csvArr);
};
})(currFile);
reader.readAsText(currFile);
}
在此之前,一切都运行得很好。我需要的是还将文件名传递给reader.onload
事件,例如:
reader.onload = (function(theFile){
return function(e){
***** I need to have fileName value HERE *****
};
})(currFile);
是可能的吗?我该怎么做呢?提前感谢您的帮助,致以最良好的敬意
https://stackoverflow.com/questions/16937223
复制相似问题