我要求以与pdf文件相同的方式下载jpg图像。
目前,如果我将jpg图像添加到网页作为链接,它将在另一个浏览器窗口中打开,而不是实际下载到用户计算机。但是,pdf文件将会。
这是标准代码:
<a href="/images/my-image.jpg">download image</a>
我将不胜感激任何指导。
感谢。
答案 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>