#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-клиентского приложения, которое обрабатывает весь процесс за пользователя.