2013-02-12 3 views
0

У меня есть веб-приложение, которое позволяет пользователю открыть PDF-файл в новом окне.может веб-приложение получить пользовательское местоположение файла

Когда откроется окно, попросите пользователя, хочет ли он сохранить/открыть файл.

Мне нужно знать, где пользователь сохранил PDF-файл, является ли способ, которым приложение будет знать этот путь к сохраненному файлу?

ответ

0

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

Представьте, что пользователь отменил сохранение, например. Как браузер знал бы сообщить вашему веб-приложению эту информацию?

+0

не могли бы вы объяснить, что именно происходит, когда пользователь сохраняет/открывает файл, который сервер отправляет с помощью window.open (aservlet копирует файл в httpResponse нового окна). – tamih

+0

Когда браузер запрашивает файл (любой файл HTML или иным образом), он сначала смотрит на MIME-тип ответа. Это сообщает браузеру, что находится внутри файла. Если он поймет файл, он откроет его автоматически. Если этого не произойдет, он попросит пользователя сохранить файл. Когда пользователь выбирает местоположение, браузер просто сохраняет содержимое запроса в этом месте. Он не сообщает вашему серверу, где он его сохранил, или если он вообще его сохранил. Вы можете начать запрос и выбросить то, что возвращается. – tomasmcguinness

0

С веб-сервера вы не сможете прочитать, где пользователь сохранил его файл (и не сохранил ли он его вообще).

0

Невозможно получить доступ к файловой системе на стороне клиента через веб-браузер.

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

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

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