Пункт назначения загрузки браузера влияния

#html #http #download #savefiledialog

#HTML #http #Скачать #сохранить файловый каталог

Вопрос:

есть ли способ повлиять на каталог загрузки браузеров для данной загрузки по HTTP? Сценарий заключается в том, что некоторые из наших пользователей жалуются на то, что им приходится просматривать структуру каталогов всякий раз, когда они загружают файл. Поскольку я не знаю их индивидуальных предпочтений, было бы неплохо заставить браузер использовать последний выбранный каталог загрузки. Возможно ли это? Я знаю, что пользователи могут выбирать место загрузки в диалоговом окне параметров большинства браузеров (Firefox, Chrome и т.д.), Но могу ли я повлиять на это поведение со стороны сервера?

Спасибо, Мо

Комментарии:

1. Вы определенно не можете этого сделать. Ни в коем случае.

2. Ваши пользователи жалуются на то, как работает каждая загрузка по HTTP через Интернет? Я бы не хотел иметь вашу пользовательскую базу, хахаха… Проинструктируйте их, как настроить свои предпочтения в выбранном ими браузере.

3. Хм… Я так и думал. Это именно то, что я им поручил сделать, но эй.. вы никогда не знаете, нет ли какого-нибудь странного взлома для достижения этой цели. В любом случае спасибо!

Ответ №1:

На стороне сервера — нет. Клиент вашего браузера определяет, где загружать, в настройках / Options (в зависимости от того, какой браузер вы используете).

Однако вы можете использовать JavaScript. Взгляните на этот элемент управления:

или, если вы используете только IE, вы можете использовать это:

 document.execCommand("saveas",false,"c:\where\yo u\want\to\save\it\to.txt");
  

Комментарии:

1. Насколько я понимаю, эта ardent-вещь используется для выбора файлов из файловой системы, что не совсем подходит для моего использования. Но спасибо за подсказку! Если бы у меня были кредиты, я бы поддержал ваш ответ:(

Ответ №2:

Вы можете использовать Content-Disposition для установки имени файла, насколько мне известно, вы не можете установить папку, поскольку это будет (по крайней мере) зависеть от платформы:

 header('Content-Disposition: attachment; filename="downloaded.pdf"');
  

Ответ №3:

Это могло бы быть возможно с помощью Flash-фильма, но без использования клиентских плагинов (используя обычный HTTP / HTML) это невозможно (в основном по соображениям безопасности).

Пользователи могут управлять этим в большинстве браузеров, используя свои настройки.

Ответ №4:

«Классическому» веб-контенту не удается получить доступ к локальной файловой системе. Возможно, в компонентах ActiveX или Java-апплетах скрыта какая-то магия voodo, которая могла бы выполнять подобные действия, но потенциально это может быть очень сложным / ограничительным / опасным.

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