FileReader
FileReader
Позволяет базовый доступ к файлу.
Свойства
свойство readyState: одним из читателя в три возможности государства, либо
EMPTY
,LOADING
илиDONE
.результат: содержимое файла, которые были прочитаны. (DOMString)
Ошибка: объект, который содержит ошибки. (FileError)
onloadstart: вызывается, когда начинается чтение. (Функция)
OnLoad: вызывается после успешного завершения чтения. (Функция)
OnAbort: вызывается при прерывании чтения. К примеру, путем вызова
abort()
метод. (Функция)OnError: вызывается, когда произошел сбой чтения. (Функция)
onloadend: вызывается при завершении запроса (либо в успех или неудача). (Функция)
Примечание: Следующие недвижимость не поддерживается:
- OnProgress: вызывается при чтении файла, отчетности прогресс в плане
progress.loaded
/progress.total
. (Функция)
Методы
прервать: прерывание чтения файла.
readAsDataURL: читать файл и возврат данных в виде URL-адреса base64-кодированные данные.
readAsText: чтение текстового файла.
readAsBinaryString: считывает файл как бинарный и возвращает двоичную строку.
readAsArrayBuffer: читает файл как
ArrayBuffer
.
Подробная информация
FileReader
Объект предлагает способ для чтения файлов из файловой системы устройства. Файлы можно читать как текст или как строку данных в кодировке base64. Прослушиватели событий получают loadstart
, progress
, load
, loadend
, error
, и abort
события.
Поддерживаемые платформы
- Андроид
- WebWorks ежевики (OS 5.0 и выше)
- iOS
- Windows Phone 7 и 8
- ОС Windows 8
readAsDataURL
Параметры:
- файл: объект файла для чтения.
Быстрый пример
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
Параметры:
файл: объект файла для чтения.
Кодировка: кодировка для кодирования содержимого файла. Значение по умолчанию — UTF8.
Быстрый пример
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);
прервать
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);
Полный пример
<!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 причуды
- Параметр Кодировка не поддерживается, и кодировку UTF8 действует всегда.
readAsBinaryString
В настоящее время поддерживается только на iOS и Android.
Параметры:
- файл: объект файла для чтения.
Быстрый пример
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
В настоящее время поддерживается только на iOS и Android.
Параметры:
- файл: объект файла для чтения.
Быстрый пример
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);