2017-05-10 42 views
0

使用HTML File API,我們可以通過<input type="file">元素與var file = evt.target.files[0];獲取選定的文件。將html文件(API類型)實例轉換爲字符串?

我們如何獲取該文件的內容作爲字符串(喜歡的東西var content = file.toString()

目前,我有這個代碼,獲取由input element.onchange事件觸發:

input.onchange = function handleFileSelect(evt) { 

var file = evt.target.files[0]; 
var reader = new FileReader(); 

console.log("RAW FILE: ", file); 

var string = reader.readAsText(file); 
console.log("FILE CONTENT: ", string); 

}

當我選擇一個文件,我嘗試記錄下列內容:

RAW FILE: File 
bundle.js:5293 FILE CONTENT: undefined 

想法?

+1

您是否嘗試過使用[FileReader](http://stackoverflow.com/a/39515846/2341603)? –

回答

0

原來文件不能僅僅被同步這樣寫着:

var reader = new FileReader(); 
    content = reader.readAsText(file); 

之前,我們可以讀取該文件,我們首先要重視對文件閱讀器onload事件。

reader.onload = (e) => { 
     let content = e.target.result; 
     console.log("FILE CONTENT: ", content); 
    } 

文件讀入的觸發器:

 reader.readAsText(file); 

content現在將包含文件內容。