I need to read some csv files, given by the user. Files are passed to the page/script using a drag and drop div, that handles the file drop as follows:
function handleFileDrop(evt) { evt.stopPropagation(); evt.preventDefault(); var files = evt.dataTransfer.files; // FileList object. ... } I need to parse each file with a csv library that converts it into an array, but I also need to keep track of the file name I'm currently parsing. Here's the code I use to parse each file:
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); } Until this, everything works great. What I need is to also pass the filename to the reader.onload event, eg:
reader.onload = (function(theFile){ return function(e){ ***** I need to have fileName value HERE ***** }; })(currFile); Is possible? How can I do this? Thanks in advance for any help, best regards