使用jQuery / Javascript打开“保存图像”对话框?

当用户点击网页上的图像时,我想触发浏览器的“保存图像”对话框并让用户将图像保存在硬盘上。 使用jQuery / Javascript是否有跨浏览器方式?

不准确,但您可以通过超链接到img文件并在服务器响应中设置content-type和content-disposition标头来实现。 尝试,例如,application / x-download, 以及此处指定的其他标头 。

我想到的唯一的事情是Internet Explorer的document.execCommand(“SaveAs”),你可以打开一个窗口或使用隐藏的iframe和你的图像的url,然后调用它…

检查(当然使用IE) 这个例子我已经完成了。

我不这么认为 – 很多基本的浏览器function(例如:打印预览)不适用于Javascript。

谷歌网上商店
Github上

如果这里的任何人仍然感兴趣,我做了一个像这样做的扩展。 它使用XMLHTTPRequest来获取对象,在这种情况下,它被假定为一个图像,然后为它创建一个ObjectURL,一个指向该ObjectUrl的链接,并点击虚构链接。

在您的情况下,您可以将ondragend更改为onclick并有选择地将其添加到图像。

当你点击你的图像时,你可以创建一个隐藏的文件输入字段并触发()这个字段:

$('.yourImageClass').click(function(){ $('.hiddenInputClass').trigger('click'); })