HTML5 FileReader Проблемы - PullRequest
       5

HTML5 FileReader Проблемы

3 голосов
/ 22 июля 2011

Я использую браузер Google Chrome и запускаю следующий код в консоли, который, кажется, работает, но когда я запускаю его в сценарии, он не

reader = new FileReader();
reader.readAsDataURL($("input[name='image']")[0].files[0]);
alert(reader.result)
somevarname=reader.result

Консоль показывает результат в виде URL-адреса данных, но в сценарии javascript не назначит результат переменной, а alert представляет собой пустую строку. Что я делаю не так?

1 Ответ

7 голосов
/ 23 июля 2011

FileReader является асинхронным, поэтому в скрипте результат устанавливается после выполнения

alert(reader.result)
somevarname=reader.result

.Вы должны использовать свойство onload FileReader для получения результата.
Пример:

var reader = new FileReader();
//This function will execute when the reader is done
reader.onload = function(){alert(this.result);};
reader.readAsDataURL($("input[name='image']")[0].files[0]);

Для хорошего учебника по HTML5 API файлов перейдите по ссылке HTML5 Rocks .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...