Содержимое файла в Javascript в браузере - PullRequest
0 голосов
/ 09 августа 2010

Единственный способ, которым я знаю, чтобы взять содержимое локального файла и отправить эти байты на сервер, - это создать сообщение формы с <input> соответствующего типа, чтобы предложить пользователю выбрать файл.

Я хотел бы сделать то же самое, только проталкивая данные через XMLHttpRequest (без хитростей).

В настоящее время мы делаем это с помощью iframe, чтобы получить поведение после публикации.

Мне кажется, что iframe - единственное решение, но я публикую здесь сообщение на случай, если что-то пропустил.

1 Ответ

1 голос
/ 09 августа 2010

Вы можете использовать JavaScript File API (доступно в Firefox 3.6 или более поздних версиях и последних версиях Chrome и Safari). По сути, вы можете добавить прослушиватель событий в тег <input>, который будет срабатывать, когда пользователь выбирает файл. Затем вы можете загрузить его с помощью XMLHttpRequest. Кроме того, Файловый API может позволить вам делать другие интересные вещи, такие как загрузка с помощью перетаскивания, получение информации о файле перед его отправкой на сервер и предоставление индикатора выполнения во время загрузки файла.
Подробнее: https://developer.mozilla.org/en/using_files_from_web_applications

Это не хорошее кросс-браузерное решение, потому что оно не имеет хорошей поддержки во всех популярных браузерах ( Internet Explorer ), но вы можете использовать функцию обнаружения в JavaScript, чтобы определить, является ли File API доступен и вернитесь к методу iframe, если это не так.

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