2014-09-24 3 views
0

Я разработал для себя скрипт для чтения и обработки локального текста и CSV-файлов на моем компьютере с использованием последних браузеров Chrome или Firefox с filerader api. Скрипт будет работать на компьютере, даже если он не подключен к Интернету или локальному веб-серверу.Использовать существующий локальный файл без необходимости выбирать

Причина этого заключается в том, чтобы иметь автономный запрос текстового файла, который будет работать практически на любом компьютере, требуя только браузера для выполнения и отображения отформатированного вывода. аналогично приложению типа awk.

Я использую filierader api, и он работает хорошо.

Я неправильно понимаю работу браузера, поэтому мой вопрос может быть очень глупым.

Возможно ли, что мой скрипт может каким-то образом передать имя файла скрипту filierader api, без необходимости выбирать файл из поля input type=file.

например, у меня есть файл, называемый адрес.csv, и он находится в том же каталоге, что и мой html/js-файл, с кодом api-файла filerader.

Я хочу, чтобы имитировать выбор файла, без доступа к моему локальному каталогу и без использования веб-сервера, но раскрывающийся список предопределенных имен файлов будет еще лучше.

ответ

3

Нет, по соображениям безопасности это невозможно, поскольку в противном случае люди могли бы открывать произвольные файлы на компьютерах своих посетителей, что определенно не предназначено.

В данной спецификации также предполагается, что основное взаимодействие с пользователем состоит из элементов HTML-форм [HTML] и что все файлы, которые считываются объектами FileReader, были сначала выбраны пользователем.

См http://www.w3.org/TR/FileAPI/#security-discussion

1

Нет, вы не можете. Javascript не может читать вашу локальную файловую систему без использования ввода файла или перетаскивания файлов (html5), поскольку он будет уязвим для вредоносного использования.

Был включен filesystem api, который включен в Chrome. Но вы не можете читать/писать в любое место в файловой системе, вы можете сделать это только в изолированной области файловой системы. Увядшие или нет, они будут продолжать иметь это в будущих версиях Chrome, хотя я не знаю.

Также представляется, что сам W3C имеет discontinued the file system api

Смежные вопросы