2017-05-10 4 views
0

Mit der HTML File API können wir eine Datei über ein <input type="file"> Element mit var file = evt.target.files[0]; erhalten.Eine HTML-Datei (API-Typ) in eine Zeichenfolge umwandeln?

Wie bekommen wir den Dateiinhalt als String (So etwas wie var content = file.toString()

Im Moment habe ich diesen Code, die durch das input element.onchange Ereignis ausgelöst wird.

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); 

}

Wenn ich Wählen Sie eine Datei aus Ich versuche, den Inhalt zu protokollieren:

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

Gedanken?

+1

Haben Sie versucht, den [FileReader] (http://stackoverflow.com/a/39515846/2341603) zu verwenden? –

Antwort

0

Stellt sich eine Datei aus kann nicht nur synchron wie folgt gelesen werden:

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

Bevor wir die Datei lesen können wir zunächst auf die onload Ereignis auf dem Dateileser anschließen müssen.

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

Der Auslöser der Datei lesen:

 reader.readAsText(file); 

Die content enthält jetzt den Dateiinhalt.

Verwandte Themen