HTML-код для загрузки изображения - PullRequest
1 голос
/ 19 апреля 2011

Как поставить ссылку, чтобы при нажатии на нее изображение загружалось? У меня есть следующее, но вместо этого изображение отображается в браузере.

11. Link to image download. <a
 href="http://i1-linux.softpedia-static.com/screenshots/awesome_2.jpg">HERE</a>

Ответы [ 6 ]

3 голосов
/ 19 апреля 2011

Изображение отображается благодаря заголовку содержимого и способу, которым браузер обрабатывает конкретный файл.

Если вы не управляете заголовком содержимого для этого изображения, оно будет просмотрено браузером, а не загружено.

HTML здесь вам не поможет.

2 голосов
/ 16 октября 2012

По моему опыту с IIS 7, изменение типа MIME на application / octet-stream работало только в Firefox и не работало в IE9 или Chrome.

Поэтому я бы порекомендовал поместить «Content-disposition: attachment» в заголовки HTTP-ответа - для меня это работало во всех браузерах и было очень легко сделать. Вот как это сделать в IIS 7:

1.) Щелкните папку, содержащую файлы, которые вы хотите, чтобы пользователи загружали (обратите внимание, что выполнение моих шагов вынудит пользователя загрузить все файлы в этой папке).
2.) Нажмите Заголовки ответа HTTP, когда находитесь в представлении функций
3.) Нажмите кнопку «Добавить» и введите «Расположение содержимого» в поле «Имя» и «вложение» в поле «Значение».

Это должно создать файл web.config в папке, указанной вами на первом шаге, как это:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="Content-Disposition" value="attachment" />
        </customHeaders>
    </httpProtocol>
</system.webServer>
2 голосов
/ 19 апреля 2011

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

Content-disposition: attachment; filename=fname.ext

Например, в PHP:

header('Content-Disposition: attachment; filename="love.gif"');

Источник:
http://support.microsoft.com/kb/260519
http://php.net/manual/en/function.header.php

0 голосов
/ 19 апреля 2011

Вы можете сделать это в Windows / IIS.

Вы изменяете тип mime интересующего вас типа файла на что-то вроде application/octet-stream.

Конечно, если вы сделали .gif, это означало бы, что вы не можете отображать .gifs на этом сайте. Я полагаю, что в IIS вы можете ограничить это условие определенной папкой (или даже файлом).

Перейдите сюда, чтобы прочитать о том, как изменить типы пантомимы http://technet.microsoft.com/en-us/library/cc755170(WS.10).aspx

Так что на самом деле это зависит от вашего веб-сервера больше всего, и от того, есть ли у вас доступ к вашему веб-серверу.

0 голосов
/ 19 апреля 2011

Вы можете использовать php zip изображение и ссылку на ZIP-файл вместо изображения. PHP: Zip

0 голосов
/ 19 апреля 2011

Вы можете указать своим пользователям щелкнуть правой кнопкой мыши и сохранить изображение из меню.

Альтернативой может быть сохранение архивов изображений и создание ссылки на них.

...