@marchibo220
Чайник

Как создать кнопку для сайта, при нажатии которой изображение автоматически загружается/сохраняется на компьютер пользователя?

Большая просьба подсказать, как правильнее составить html-код для создания кнопки-ссылки? После нажатия на данную кнопку либо ссылку изображение должно сохранятся на компьютере. На рубежах мирового инета нашел предложения с использованием java - скриптов, но это не мой вариант. Реально ли выполнить такую задачу исключительно в html либо при помощи подключения функции php. Есть выход с использованием параметра a href="http://..." download, но download - не работает в IE, Safari, Android. Как поступить?
  • Вопрос задан
  • 4773 просмотра
Пригласить эксперта
Ответы на вопрос 3
lexxpavlov
@lexxpavlov
Программист, преподаватель
Именно сразу сохранить на диск не получится. Но можно сделать обычную ссылку, после нажатия на которую автоматически начнётся обычное скачивание файла штатными средствами браузера, не зависимо от того, какой тип файла (хоть html). Для этого нужно в заголовки ответа добавить заголовок Content-Disposition: attachment. Добавить этот заголовок можно через php-скрипт (как указал dzedzinskiy), можно через настройку веб-сервера. Во втором случае удобнее расположить все файлы для скачивания в отдельную папку, специально для этого предназначенную, и повесить в настройках веб-сервера форсированно отдавать файлы из папки (если апач, то можно в .htaccess этой папки указать).
Ответ написан
Комментировать
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Доступ к файловой системе пользователя только с его щелчка т.е разршения. Иначе я вам дам ссыку и заражу вас трояном моментально.
Это возможно только с помощью расширений для браузеров.

Так... а... вы просите чтобы по шелчку шел запрос на скачку всегда?
www.abeautifulsite.net/blog/2007/07/forcing-file-d...

По щелчку аяксом шлете на сервер, id картинки, там тот скрипт который по ссылке выше и усе.
Ответ написан
Комментировать
dzedzinskiy
@dzedzinskiy
Full stack developer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы