点击它后如何实际下载图片?是否有某种javascript代码可以做到这一点?以下是我用纯HTML显示图像的方法。
<a href="#"><img src="myPic.png" border="0"></a>
答案 0 :(得分:2)
假设“下载”是指“导致用户的浏览器抛出'保存或打开'对话框” - 你不能。
您可以链接到提供相同文件但使用the Content-Disposition header set to attachment的其他网址。您在该URL上提供此类资源的具体细节取决于您提供的服务器端功能。
答案 1 :(得分:2)
大多数人右键点击图片并选择“将图片另存为...”
替代方法是链接以使用设置“Content-type”和“Content-disposition”标头的服务器端脚本。在PHP中,这就像the docs中的示例:
header('Content-Type: image/png'); // or 'image/jpg' or 'image/gif'
header('Content-Disposition: attachment; filename="filename.png"');
readfile('original.png');
更新:既然您说图像是由PHP脚本生成的,那么有几个选项:
readfile
。这意味着任何点击下载的人都可以进行双重处理。readfile
。mode=download
,然后输出图像,如果参数存在,请在上面设置这两个标题。答案 2 :(得分:1)
我把它搞砸了一下 - 我将图片压缩并放在某处。然后,我没有使用花哨的脚本或服务器端的东西,而是将图片的链接作为.zip文件的位置。用户得到警告/询问他们是否要下载此邮政编码...
但这通常发生在用户想要图片的地方......
答案 3 :(得分:-2)
您想在新窗口/标签页中打开图片吗?或者您想将其下载到用户计算机?如果您希望用户保存图像,则需要设置他们收到的文件的内容类型:
<?php
$file = $_GET['file'];
header("Content-Type: application/octet-stream; ");
header("Content-Transfer-Encoding: binary");
header('Content-Disposition: attachment; filename="'.basename($file).'"');
readfile($file);
?>
请记得检查输入,以便人们无法下载源文件。