17
ユーザから与えられたcsvファイルを読み込む必要があります。ファイルは次のようにファイルのドロップを処理し、ドラッグ&ドロップのdiv、使用してページ/スクリプトに渡されます。FileReaderオンロードイベントにパラメータを渡す
function handleFileDrop(evt) {
evt.stopPropagation();
evt.preventDefault();
var files = evt.dataTransfer.files; // FileList object.
...
}
は、私は、配列に変換したCSVライブラリと、各ファイルを解析する必要があるが、しかしまたI私は現在解析しているファイル名を追跡する必要があります。それぞれのファイルを解析するために使用するコードは次のとおりです。
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);
可能ですか?これどうやってするの?任意の助けを事前に感謝、宜しく
Genius!ありがとう、私はこれをやろうとしている私の髪を引っ張っていた。私は今閉鎖を理解し始めていると思う! – Fiver
ファイル名とreader.resultの両方の値を取得する方法はありますか? – PatriceG
コードの後に問題がありますが、 'theFile'はどこから来ますか? currFileがどこで定義されているのか分かりますが、 'theFile'とは何が関係していますか? – NiallJG