当前位置: 首页 > 面试题库 >

使用Java脚本强制下载图像

焦宏硕
2023-03-14
问题内容

我想知道是否有任何方法可以使用Javascript / jQuery制作脚本来下载(打开下载对话框)图像,以便浏览器不仅仅显示它。


问题答案:

您需要为此使用服务器端脚本。

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

带有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

测试回应:

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解决方案

您可以在锚点上使用HTML5download属性:

<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>


 类似资料:
  • 问题内容: 单击图像后,是否可以将其下载(没有右键单击 将图像另存为 )? 我正在使用一个小的Javascript函数来调用下载页面: 在download.php页面中,我有类似以下内容: 但这是行不通的。我究竟做错了什么? 提前致谢! 问题答案: 使用 application / octet- stream 代替 image / jpg : 如果在应用程序/八位字节流内容类型的响应中使用[Con

  • 问题内容: 我的服务器上有一个CSV文件。如果用户单击链接,则应下载该链接,但会在我的浏览器窗口中打开。 我的代码如下 这是我所有开发工作都在上面的普通Web服务器。 我尝试了类似的东西: 现在我文件的内容: 现在我的问题是正在下载,而不是我的CSV文件。它创建一个新文件。 问题答案: .htaccess解决方案 要强行下载服务器上的所有CSV文件,请添加.htaccess文件: PHP解决方案

  • 问题内容: 我希望用户能够下载服务器上的某些文件,但是当我尝试使用Internet上的许多此类示例中的任何一个时,对我来说似乎没有任何作用。我试过这样的代码: 我什至尝试使用我能找到的最基本的示例,如下所示: 测试完此功能后,我删除了所有其他代码,并使用仅包含此代码的空文件来删除由外部源创建的任何错误。 当我在控制台中查看文件时,将使用正确的标题发送文件,即 但是不会显示保存对话框。 我还尝试使用

  • 这方面有新的工作吗?

  • 从JS开始不是我的优势之一。在过去的几天里,我一直在尝试编辑这个JS函数,使其强制下载bas64图像。当点击下载按钮时,该函数的作用是打开一个带有图像的新窗口。然后用户必须右键单击并保存图片。我试图强制下载图像,而不是右键单击并另存为。 dataurl生成base4 png字符串(数据:image/jpeg;base64,/9j/4aaqskzjrgabaaqabaad/2wbdaaaebaqeb

  • 问题内容: 我有图像列表,我希望每个图像都有一个“下载”链接,以便用户可以下载图像。 所以有人可以指导我如何为php中的任何文件提供下载链接吗? 编辑 我希望在单击下载链接时显示一个下载面板,但我不想导航到要在浏览器中显示的图像 问题答案: 如果要强制下载,可以使用如下所示的内容: 如果仅使用常规链接链接到此脚本,则将下载文件。 顺便说一句,上面的代码段需要在页面的开头执行(在没有任何标题或HTM