我想知道是否有任何方法可以使用Javascript / jQuery制作脚本来下载(打开下载对话框)图像,以便浏览器不仅仅显示它。
您需要为此使用服务器端脚本。
或者,您的服务器可能允许您通过配置动态更改标头。
将可下载的图像放在目录中。在此目录中,创建一个.htaccess包含以下内容的文件:
.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
测试回应:
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
您可以在锚点上使用HTML5download属性:
download
<p>Example 1<br> <a href="http://dummyimage.com/600x400/000/fff.png" download>Download this image</a></p> <p>Example 2<br> <a href="http://dummyimage.com/600x400/000/fff.png" download="alternate-filename.png"><img src="http://dummyimage.com/150x100/000/fff.png"></a></p>