我希望我的用户能够使用 jQuery 从我的网站下载图像。例如,我的网站上有一张这样的图片。当用户单击“下载”按钮时,该图像必须下载到用户系统。我能做些什么来实现这一目标?
<div class="download"><img src="http://m.com/hello.png"><div>
编辑:也欢迎 PHP 代码,例如download.php?url=http://m.com/hello.png
,
PS: http: //m.com/hello.png是外部网址。
我希望我的用户能够使用 jQuery 从我的网站下载图像。例如,我的网站上有一张这样的图片。当用户单击“下载”按钮时,该图像必须下载到用户系统。我能做些什么来实现这一目标?
<div class="download"><img src="http://m.com/hello.png"><div>
编辑:也欢迎 PHP 代码,例如download.php?url=http://m.com/hello.png
,
PS: http: //m.com/hello.png是外部网址。
对于服务器端,您可以将图像点击定向到强制下载的 PHP 页面。
在您的 HTML 页面上,您将拥有:
如果是 PNG 文件
<a href="download.php?ext=png"><img src="hello.png" /></a>
或者如果是 JPG 文件
<a href="download.php?ext=jpg"><img src="hello.jpg" /></a>
然后一个PHP页面download.php
如下图
<?php
if($_GET['ext'] == 'png') {
$ext = 'png';
} elseif($_GET['ext'] == 'jpg') {
$ext = 'jpg';
}
header('Content-disposition: attachment; filename=Name-of-Image.'.$ext);
header('Content-type: image/'.$ext);
readfile('http://m.com/hello.'.$ext);
?>
如果不使用 PHP,您将无法可靠地做到这一点。我在这个网站上发现了一个可以帮助您解决此问题的先前问题:使用 Javascript 强制下载图像
实际上,那里有一种依赖 HTML5 的方法,但我不太确定您是否认为它可靠。
PHP代码:
header('Content-Type: image/png');
header('Content-Disposition: attachment; filename="filename.png"');
readfile('hello.png');