Чтение содержимого файла на стороне клиента с помощью веб-браузера

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

например, если клиент выдал LPL://-s 109.107.108.7 -f c:\tmp\file.big в браузере программа запустится и перенесет file.big на сервер.

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

Есть ли способ решить эту проблему?

1 ответ

Java и, возможно, Silverlight / другие плагины npapi могут это сделать, но это потому, что они не находятся в песочнице. Они могут обращаться к папкам и файлам на вашем компьютере, делая их такими же мощными (и потенциально разрушительными), как программа, которую вы фактически устанавливаете на свой компьютер. Другими словами, Java может использоваться для создания вирусов, которые не нужно устанавливать для запуска. Это одна из причин, по которой современные браузеры переходят на плагины ppapi, такие как flash, которые не имеют свободного доступа к файловой системе. Chrome даже не поддерживает npapi.

Всегда есть один способ отправить файлы через браузер, и это использовать <input type="file" /> элемент в вашем коде и попросить пользователя вручную указать путь. Flash можно использовать, если вам действительно нужно использовать этот файл на локальном компьютере, но поскольку вы хотите отправить его через Интернет, у вас нет причин использовать его.

Другие вопросы по тегам