Я генерирую нормальные ссылки, такие как: <a href="https://stackoverflow.com/path/to/image"><img src="/path/to/image" /></a>
в веб-приложении.
Когда я нажимаю на ссылку, изображение отображается на новой странице. Если вы хотите сохранить изображение, вам нужно щелкнуть по нему правой кнопкой мыши и выбрать «Сохранить как»
Я не хочу такого поведения, я хотел бы, чтобы при нажатии на ссылку появлялось окно загрузки, возможно ли это только с помощью html или javascript? Как?
Если нет, я думаю, мне нужно написать скрипт download.php и вызвать его в href с именем файла в качестве параметра ...?
Ответы:
Это еще не полностью поддерживается http://caniuse.com/#feat=download , но вы можете использовать с modernizr https://modernizr.com/download/?adownload-setclasses (в разделе Неосновные обнаружения ), чтобы проверить поддержку браузер
источник
download
атрибут attributte работает только для URL одного и того же происхождения . Документы MDNСамый простой способ создать ссылку для загрузки изображения или HTML - это установить атрибут загрузки , но это решение работает только в современных браузерах.
«myimage» - это имя файла для загрузки. Расширение будет добавлено автоматически. Пример здесь
источник
download.php:
источник
<a href="download.php?file=../dbparams.inc>">Download</a>
например. Более подробная информация здесь: en.wikipedia.org/wiki/Directory_traversal_attackНет, это не так. Вам понадобится что-то на сервере, чтобы отправить заголовок Content-Disposition, чтобы установить файл как вложение, а не как встроенный. Вы можете сделать это с простой конфигурацией Apache, хотя.
Я нашел пример того, как сделать это с помощью mod_rewrite , хотя я знаю, что есть более простой способ.
источник
Если вы используете HTML5, вы можете добавить атрибут «скачать» к своим ссылкам.
http://www.w3schools.com/tags/att_a_download.asp
источник
Попробуй это...
источник
Атрибут загрузки HTML, указывающий, что цель будет загружена, когда пользователь нажимает гиперссылку.
Этот атрибут используется только если установлен атрибут href.
Значением атрибута будет имя загруженного файла. Ограничения на допустимые значения отсутствуют, и браузер автоматически определит правильное расширение файла и добавит его в файл (.img, .pdf, .txt, .html и т. Д.).
Пример кода:
HTML5:
Выход :
Загрузить изображение >>
HTML5 скачать или хром
Загрузить изображение >>
источник
Вы не можете сделать это с чистым html / javascript. Это связано с тем, что у вас есть отдельное подключение к веб-серверу для извлечения отдельного файла (изображения), и обычный веб-сервер будет обслуживать файл с установленными заголовками содержимого, так что браузер, читающий тип содержимого, решит, что тип может обрабатываться внутренне.
Чтобы заставить браузер не обрабатывать файл внутренне, нужно изменить заголовки (предпочтительно расположение содержимого или тип содержимого), чтобы браузер не пытался обработать файл внутренне. Вы можете сделать это, написав скрипт на веб-сервере, который динамически устанавливает заголовки (то есть download.php), или настроив веб-сервер так, чтобы он возвращал разные заголовки для файла, который вы хотите загрузить. Вы можете сделать это для каждого каталога на веб-сервере, что позволит вам уйти без написания php или javascript - просто разместите все загружаемые изображения в одном месте.
источник
Простой код для загрузки изображения с нажатием изображения с помощью php
источник
Загрузка изображения с помощью нажатия изображения!
Я сделал этот простой код! :)
источник