HTML5文件阅读器无法添加多个文件,只能从列表中添加一个文件

时间:2014-06-19 09:41:24

标签: html5 filereader

我想同时添加三个文件。扩展名为kml,kmz和csv的文件。 当我选择所有三个文件并单击打开时,我在FileList中获取所有三个文件。 但是只有一个文件被添加到地图上。如果我添加单个文件,即一个接一个,它工作正常。读者onloadend事件被触发了3次。但是它总是只添加三个文件中的一个。

function handleFileSelect(evt) {        

 var files = evt.target.files; // FileList  

 for (var i = 0; i < files.length; i++) {

     f = files[i];
     fileExtension = f.name.split('.').pop();    

 if(fileExtension != 'kml' && fileExtension !='kmz' && fileExtension != 'csv'){ 
      alert('Unsupported file type ' + f.type + '(' + fileExtension + ')');
        return;
      } 

var fileReaderkmlcsv = new FileReader();

fileReaderkmlcsv.readAsText(f); 
fileReaderkmlcsv.onloadend =loadend;  

} //- end for loop   } //handleFileSelect                            

1 个答案:

答案 0 :(得分:0)

问题是javascript中的异步代码执行。 这是答案 - Asynchronous execution in javascript any solution to control execution?