BanterFace
@BanterFace
jack of all trades, master of none

Почему не работает onload на FileReader?

Есть код:
var file;
				var reader = new FileReader();
				var dropZone = document.getElementById('drop_zone');
				function handleFileSelect(evt) {
					file = evt.dataTransfer.files[0];
					evt.stopPropagation();
					evt.preventDefault();
					reader.onload = function(e) {
						console.log('1');
						console.log(reader.readAsText(file));
						console.log(this.result);
					};
				};
				function handleDragOver(evt) {
					evt.stopPropagation();
					evt.preventDefault();
				};
				dropZone.addEventListener('dragover', handleDragOver, false);
				dropZone.addEventListener('drop', handleFileSelect, false);


И часть, где render.onload = f не работает, хотя то, что перед ним, работает нормально. Демо, в консоль вводите "showPopup('file_set')" перетаскиваете в белую область любой txt-файл.
  • Вопрос задан
  • 921 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Не работает потому, что вы ничего не загружаете - вы пытаетесь прочитать файл в обработчике onload. Естественно, что ничего не происходит. Делайте так:

reader.onload = function(e) {
  console.log(this.result);
};
reader.readAsText(file);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы