2015-12-10 57 views
1

我想從文本文件讀取字符串並將其保存在變量中。我所做的: HTML:在變量中讀取上傳的文本文件內容

<div> 
     Select a text file: 
     <input type="file" id="fileInput"> 
    </div> 
    <pre id="fileDisplayArea"><pre> 

JS:

window.onload = function() { 
    var fileInput = document.getElementById('fileInput'); 
    var fileDisplayArea = document.getElementById('fileDisplayArea'); 
    var newString; 
    fileInput.addEventListener('change', function(e) { 
     var file = fileInput.files[0]; 
     var textType = /text.*/; 
     if (file.type.match(textType)) { 
      var reader = new FileReader(); 

      reader.onload = function(e) { 
       fileDisplayArea.innerText = reader.result; 
      } 
      newString=reader.result; //SAVE RESULT 
      alert(newString); 
      reader.readAsText(file);  
     } else { 
      fileDisplayArea.innerText = "File not supported!" 
     } 
    }); 

}

我想從文件保存的文本,並提醒它。但它不起作用。

我做到了:

var tfile; 
     var reader = new FileReader(); 

     function rdfile(files) 
     { 
      tfile = files[0]; 
      reader.readAsText(tfile, 'CP1251'); 

      reader.onload = function(e) 
      { 
       str = e.target.result; 
       alert(str); 
      }; 
     } 

但它不工作了。我警告許多不同的符號,但不是我的文本。

回答

1

看看你的代碼從你第一次嘗試:

newString=reader.result; //SAVE RESULT 
alert(newString); 
reader.readAsText(file);  
  1. 得到的結果
  2. 警報它
  3. 做產生的結果

你要讀的東西該文件之前,你可以看看你從閱讀中得到的文本!

將第1步和第2步移動到您已擁有的onload事件處理程序中。


現在看看你的第二次嘗試。你永遠不會打電話rdfile,你永遠不會打電話readAsText

相關問題