如何像PDF文件一样下载jpg图像呢?

时间:2011-05-20 14:17:22

标签: jquery download

我要求以与pdf文件相同的方式下载jpg图像。

目前,如果我将jpg图像添加到网页作为链接,它将在另一个浏览器窗口中打开,而不是实际下载到用户计算机。但是,pdf文件将会。

这是标准代码:

<a href="/images/my-image.jpg">download image</a>

我将不胜感激任何指导。

感谢。

5 个答案:

答案 0 :(得分:4)

执行此操作的最佳方法是使用 the Content-Disposition header 设置您的Web服务器或服务器端脚本(php,asp.net等)以提供您的jpg文件:

Content-Disposition: attachment; filename="my-image.jpg"

脚本:

服务器:

答案 1 :(得分:2)

如果您在服务器上安装了PHP,则可以执行此操作。

<?php 
// Force download of image file specified in URL query string and which 
// is in the same directory as this script: 
if(!empty($_GET['img'])) 
{ 
   $filename = basename($_GET['img']); // don't accept other directories 
   $size = @getimagesize($filename); 
   $fp = @fopen($filename, "rb"); 
   if ($size && $fp) 
   { 
      header("Content-type: {$size['mime']}"); 
      header("Content-Length: " . filesize($filename)); 
      header("Content-Disposition: attachment; filename=$filename"); 
      header('Content-Transfer-Encoding: binary'); 
      header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
      fpassthru($fp); 
      exit; 
   } 
} 
header("HTTP/1.0 404 Not Found"); 
?>

HTML看起来像这样

<img src="/images/download.php?img=imagename.jpg" alt="test">

答案 2 :(得分:2)

您可以使用此处提到的建议: http://answers.yahoo.com/question/index?qid=20080417163416AAjlb7T

它看起来像这样:

access_file.php:

<?php

$f= $_GET['file'];

$filename = explode("/", $f);
$filename = $filename[(count($filename)-1)];

header('Content-Disposition: attachment; filename="'.$filename.'"');
readfile($f);

?>

如果您将access_file.php文件粘贴到images文件夹中,那么您只需使用该链接:

<a href="/images/access_file.php?file=my-image.jpg" />

答案 3 :(得分:1)

如何从浏览器打开PDF内容类型取决于许多不同的设置。它可能会受到浏览器设置中程序的内容类型关联的影响。它也可能受PDF阅读器本身设置的影响,例如,编辑偏好设置... 互联网标签下的Adobe Reader如果PDF文档应在浏览器或应用程序中直接打开,则选项。

答案 4 :(得分:0)

在HTML 5中,我们有一个名为download

的属性
<a href="img/myimage.jpg" download="myimage.jpg"><img src="img/myimage.jpg" /></a>