Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как сделать, чтоб при переходе на картинку, браузер ее скачивал, а не открывал?

Как сделать, чтоб при переходе на картинку, браузер ее скачивал, а не открывал?


     31.10.2013    Общие вопросы, Общие вопросы по вёрстке, Шаблоны (TPL), Общие вопросы по PHP    5121

вопрос
У меня галерея картинок, на странице с картинкой, показывается уменьшенное изображение, а под ним добавлена кнопка: загрузить полное изображение, когда я ее нажимаю, он открывает картинку в новой вкладке. Как сделать чтоб он ее не открывал, а скачивал в формате JPG на комп???

Ответа пока нет


6 комментариев

sadan
Юзер

sadan - 31 октября 2013 14:20 -

<a href="ссылка изобр" download=""><img src="ссылка изобр" /></a>

golden_eagle_god
Юзер

golden_eagle_god - 31 октября 2013 17:08 -

Не сработало в Chrome

Nick
Юзер

Nick - 31 октября 2013 15:40 -

Как вариант, отдавать картинку через php:
header('Content-Type: image/jpeg');
header('Content-Disposition: attachment; filename="'.htmlspecialchars($_GET['name']).'"');
header('Content-Length:'.filesize($file).'');
header('Cache-Control: no-cache');
header('Content-Transfer-Encoding: chunked');
readfile($file);


Цитата: sadan
<a href="ссылка изобр" download=""><img src="ссылка изобр" /></a>

Несомненно, это более элегантное решение, но может работать не во всех браузерах ;).

golden_eagle_god
Юзер

golden_eagle_god - 31 октября 2013 17:05 -

Извените, а можно по подробнее? :)

Nick
Юзер

Nick - 31 октября 2013 18:47 -

Цитата: sadan
<a href="ссылка изобр" download=""><img src="ссылка изобр" /></a>

Цитата: golden_eagle_god
Не сработало в Chrome

Проверил, все работает:
<a href="http://dreamworlds.ru/uploads/posts/2011-04/1303631060_ptallships063.jpg">1</a>
<a href="http://dreamworlds.ru/uploads/posts/2011-04/1303631060_ptallships063.jpg" download>2</a>


Цитата: golden_eagle_god
Извените, а можно по подробнее? :)

Как-то так:

На странице вставляем ссылку таким образом
<img src="img.php?name=img1.jpg" />

, где img1.jpg — название изображения.

Файл img.php:
<?php   
  if (file_exists("./kartinko/".$_GET['name']))
  {
    $img="./kartinko/".$_GET['name'];
header('Content-Type: image/jpeg');
header('Content-Disposition: attachment; filename="'.htmlspecialchars($_GET['name']).'"');
header('Content-Length:'.filesize($img).'');
header('Cache-Control: no-cache');
header('Content-Transfer-Encoding: chunked');
readfile($img);
  }
?>

, где /kartinko/ — папка, где лежат картинки формата jpeg.

FastFud
Юзер

FastFud - 1 ноября 2013 18:14 -

На сайте в htaccess (который находится в корне сайта) добавить в самом низу


        AddType application/octet-stream .jpg
        AddType application/octet-stream .jpeg
        AddType application/octet-stream .png


На некоторых хостингах может и не работать.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх