2013-11-28 141 views
0

以下是我從客戶機讀取文件的代碼段,它工作正常。 。無法通過FileReader讀取文件

的document.getElementById( '文件')平變化=函數(e)中{ //檢索從輸入元件 //uploadFiles(e.target.files)的文件列表;

Files =e.target.files; 
    var reader = new FileReader(); 

      reader.onload = function (e) 
      { 
       alert("File loaded successfully"); 
}reader.readAsText(e.target.files[0]); 

我得到文件加載警報成功。但是當我複製json編碼格式的這個文件對象,然後得到這個文件對象thorug json解碼,那麼它不是讀取文件。

我的編碼和解碼,然後讀取文件的代碼如下:

indexArray="{'"LayerName":'"'+e.target.files[0]+'"}' 

var obj=JSON.parse(indexArray); 

         Files=obj.RGN; 

         if(obj.RGN) 
         { 

         var reader = new FileReader(); 
         reader.onload = function (e) 
         { 
          alert("FIle loaded successfully"); 
          var output=e.target.result; 
          console.log("output-----------------------------: "+output); 

         } 

         reader.readAsText(File); 

         } 
         else 
         { 
          alert("Failed to load file"); 
         } 

現在它不工作我甚至沒有得到無法加載文件。所以我在做錯我剛剛編碼的文件對象,然後解碼並閱讀該對象?

回答

0

由於obj.RGN不是文件對象。而Reader.readastext僅適用於文件對象(異步)。 您應該將文件等同於e.target.files,然後才能正常工作。

reader.onload = function (e) { 

} 

Files=e.target.files; 
reader.readAsText(Files);