FileReader
Il FileReader
permette l'accesso a un file di base.
Proprietà
readyState: uno del lettore di tre possibili stati, o
EMPTY
,LOADING
oDONE
.risultato: il contenuto del file che è stati letti. (DOMString)
errore: oggetto contenente errori. (FileError)
onloadstart: chiamato quando inizia la lettura. (Funzione)
OnLoad: chiamato quando ha completato con successo la lettura. (Funzione)
OnAbort: chiamato quando la lettura è stata interrotta. Per esempio, richiamando il
abort()
metodo. (Funzione)OnError: chiamato quando la lettura non è riuscita. (Funzione)
onloadend: chiamato quando la richiesta è stata completata (sia nel successo o fallimento). (Funzione)
Nota: Non è supportato il seguente nel Real Estate:
- OnProgress: chiamato durante la lettura del file, relazioni sull'avanzamento in termini di
progress.loaded
/progress.total
. (Funzione)
Metodi
Abort: interrompe la lettura del file.
readAsDataURL: leggere file e restituiscono i dati come URL dati con codifica base64.
readAsText: file di testo di legge.
readAsBinaryString: legge file binario e restituisce una stringa binaria.
readAsArrayBuffer: letture del file come un
ArrayBuffer
.
Dettagli
Il FileReader
oggetto offre un modo per leggere i file dal sistema di file del dispositivo. I file possono essere letti come testo o come una stringa di dati con codifica base64. Listener di eventi ricevono il loadstart
, progress
, load
, loadend
, error
, e abort
eventi.
Piattaforme supportate
- Android
- BlackBerry WebWorks (OS 5.0 e superiori)
- iOS
- Windows Phone 7 e 8
- Windows 8
readAsDataURL
Parametri:
- file: il file oggetto per leggere.
Esempio rapido
function win(file) {
var reader = new FileReader();
reader.onloadend = function (evt) {
console.log("read success");
console.log(evt.target.result);
};
reader.readAsDataURL(file);
};
var fail = function (error) {
console.log(error.code);
};
entry.file(win, fail);
readAsText
Parametri:
file: il file oggetto per leggere.
codifica: la codifica da utilizzare per codificare il contenuto del file. Predefinito è UTF8.
Esempio rapido
function win(file) {
var reader = new FileReader();
reader.onloadend = function (evt) {
console.log("read success");
console.log(evt.target.result);
};
reader.readAsText(file);
};
var fail = function (error) {
console.log(error.code);
};
entry.file(win, fail);
Abort
function win(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("read success");
console.log(evt.target.result);
};
reader.readAsText(file);
reader.abort();
};
function fail(error) {
console.log(error.code);
}
entry.file(win, fail);
Esempio completo
<!DOCTYPE html>
<html>
<head>
<title>FileReader Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
function gotFS(fileSystem) {
fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.file(gotFile, fail);
}
function gotFile(file){
readDataUrl(file);
readAsText(file);
}
function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
console.log(evt.target.result);
};
reader.readAsDataURL(file);
}
function readAsText(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as text");
console.log(evt.target.result);
};
reader.readAsText(file);
}
function fail(error) {
console.log(error.code);
}
</script>
</head>
<body>
<h1>Example</h1>
<p>Read File</p>
</body>
</html>
iOS stranezze
- Il parametro di codifica non è supportato, e codifica UTF8 è sempre attivo.
readAsBinaryString
Attualmente supportato solo su iOS e Android.
Parametri:
- file: il file oggetto per leggere.
Esempio rapido
function win(file) {
var reader = new FileReader();
reader.onloadend = function (evt) {
console.log("read success");
console.log(evt.target.result);
};
reader.readAsBinaryString(file);
};
var fail = function (error) {
console.log(error.code);
};
entry.file(win, fail);
readAsArrayBuffer
Attualmente supportato solo su iOS e Android.
Parametri:
- file: il file oggetto per leggere.
Esempio rapido
function win(file) {
var reader = new FileReader();
reader.onloadend = function (evt) {
console.log("read success");
console.log(new Uint8Array(evt.target.result));
};
reader.readAsArrayBuffer(file);
};
var fail = function (error) {
console.log(error.code);
};
entry.file(win, fail);