使用jQuery启动图像下载

时间:2013-01-24 15:03:10

标签: javascript jquery html

我希望我的用户能够使用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是外部网址。

3 个答案:

答案 0 :(得分:3)

对于服务器端,您可以将图像单击指向强制下载的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);

?>

答案 1 :(得分:0)

PHP代码:

header('Content-Type: image/png');
header('Content-Disposition: attachment; filename="filename.png"');
readfile('hello.png');

答案 2 :(得分:0)

如果不使用PHP,您将无法可靠地执行此操作。我在本网站上发现了一个可以帮助您解决此问题的问题:Force Download an Image Using Javascript

实际上有一种依赖于HTML5的方法,但我不确定你是否可以认为它是可靠的。