Как мне прочитать локальный файл на веб-страницу через Javascript или Jquery? - PullRequest
3 голосов
/ 27 марта 2012

Фон: (читай, прежде чем зажечь ...)

Я хочу, чтобы пользователь мог ВЫБРАТЬ текстовый файл из «файла ввода» HTML (на своем локальном устройстве) и нажимать кнопку загрузки. Я не хочу, чтобы файл загружался напрямую, я хочу, чтобы JavaScript выполнял некоторую проверку, форматирование и затем отображал отформатированные результаты пользователю. Где у пользователя есть несколько вариантов того, что он хочет сделать, в зависимости от результатов проверки и форматирования. (и да, это подтверждается и на стороне сервера.)

Это НЕ AJAX-запрос, он просит пользователя выбрать файл и затем загрузить его, с проверкой и форматированием файла javascript.

Вопрос:

Можно ли прочитать файл (выбранный пользователем для загрузки) на веб-страницу HTML, где он может быть просмотрен пользователем и проанализирован Javascript или Jquery? Если это возможно, то как?

Он должен поддерживать основные браузеры Firefox, Opera, Safari, Chrome и IE8 +.

Ответы [ 2 ]

5 голосов
/ 27 марта 2012

Ближайшая вещь, которую вы найдете, это FileReader API , который в настоящее время является черновиком с ограниченной поддержкой браузера .

Возможно, вам придется использовать подписанный Java-апплет, чтобы получить более широкую поддержку (но затем вы начнете зависеть от людей, у которых установлен подключаемый модуль Java).

0 голосов
/ 27 марта 2012

Я могу думать только о 2 путях, помимо незавершенных и неподдерживаемых технологий.

  1. Выполните двухэтапный процесс, когда пользователь загружает его на сервер, а сервер отправляет его обратно, чтобы вы могли выполнить любую проверку, а затем, когда проверка завершена, вы отправляете ее обратно на сервер (не как загрузка , у вас уже есть данные).

  2. Flash имеет доступ к диску, вы можете написать небольшой Flash-фильм, который принимает файл, а затем передает его в javascript, но затем вы зависите от flash.

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