通过按钮下载图像?

时间:2014-08-04 09:44:27

标签: javascript html image

我如何制作它以便您单击按钮并下载页面上的所有图像?图像不是本地存储的,它们通过标签中的直接链接存在。

我想用javascript实现..

  document.write('<input type="button" value="Download All Images" onclick="downloadIMG()">');        
    function downloadIMG() {
    // what here to download images?
    }

2 个答案:

答案 0 :(得分:2)

你需要为php,asp等使用服务器端脚本。

或者,您的服务器可能允许您通过配置动态更改标头。

使用mod_headers的Apache解决方案

将可下载的图像放在目录中。在此目录中,使用以下内容创建.htaccess文件:

SetEnvIf Request_URI "([^/]+\.jpg)$" REQUESTED_IMAGE_BASENAME=$1
SetEnvIf Request_URI "([^/]+\.png)$" REQUESTED_IMAGE_BASENAME=$1
Header set Content-Disposition "attachment; filename=\"%{REQUESTED_IMAGE_BASENAME}e\"" env=REQUESTED_IMAGE_BASENAME

测试请求:

HEAD /test/Water%20lilies.jpg HTTP/1.1
Host: localhost
Test Response:

HTTP/1.1 200 OK
Date: Sat, 23 Jul 2011 09:03:52 GMT
Server: Apache/2.2.17 (Win32)
Last-Modified: Thu, 23 Aug 2001 14:00:00 GMT
ETag: "26000000017df3-14752-38c32e813d800"
Accept-Ranges: bytes
Content-Length: 83794
Content-Disposition: attachment; filename="Water lilies.jpg"
Content-Type: image/jpeg

HTML5解决方案

您可以在主播上使用HTML5下载属性:

<a href="http://dummyimage.com/600x400/000/fff.png"
    download>Download this image</a>
<a href="http://dummyimage.com/600x400/000/fff.png"
    download="alternate-filename.png"><img
        src="http://dummyimage.com/150x100/000/fff.png"></a>

答案 1 :(得分:0)

这里需要的是具有“下载”属性的锚点(<a>)。你可以做出这样的解决方案:

<a href="link/to/img" download>Download Link</a>

这具有不再需要JS的附加好处