Unfailing Javascript Предварительный просмотр - PullRequest
9 голосов
/ 01 мая 2010

У меня есть следующий код, который предоставляет пользователю предварительный просмотр изображения, которое он пытается загрузить, и очень хорошо работает в FF:

var img = document.createElement('img');
img.src = $('#imageUploader').get(0).files[0].getAsDataURL();

Проблема в том, что getAsDataURL() работает только в FF. Есть ли что-то подобное / обходной путь для такой функциональности в Chrome (в частности)?

Ответы [ 2 ]

2 голосов
/ 02 мая 2010

Если браузер не поддерживает getAsDataURL, вы можете убедиться, что вместо этого для ввода файла используется openFiles Gears (прокрутка вниз), чтобы прочитать файл, выбранный пользователем. Google больше не работает над Gears, но он будет работать в Chrome, по крайней мере до тех пор, пока не будет реализовано getAsDataURL().

РЕДАКТИРОВАТЬ: Изменен ответ, чтобы быть более полезным.

0 голосов
/ 09 ноября 2011

IE еще не поддерживает File API. В любом случае, вам нужно использовать FileReader для чтения файла. Кроме того, файл не является его именем (имя переменной немного неоднозначно).

file = fileObj.files[0];
var fr = new FileReader;
fr.onloadend = changeimg;
fr.readAsDataURL(file)
...