-1

如何使用 javascript 将图像下载到用户计算机?该图像已经在屏幕上,但我希望他们能够单击一个按钮,以便使用每个浏览器的本机下载选项。(不需要ajax,因为图像已经存在)

有任何想法吗?

4

3 回答 3

0

由于 JavaScript 无法设置必要的 HTTP 标头,因此无法单击鼠标左键。也许这会在未来改变——“HTML5”。

于 2013-03-11T15:51:23.093 回答
0

好吧,插入使用 URL 来使用它们.. 使用它们的数据 URI.......

你可以打开一个图像,然后base64它..

现在,添加它而不是 Javascript 文件(如 data:image/png; base64, ....................)

单击时,将 window.location.href 设置为该数据 URI,它将是可下载的

于 2013-03-11T16:04:19.380 回答
0

我的解决方案

在发现您不能仅使用 Javascript 来执行此操作后,我只是在服务器上设置了正确的标头。

在 php 中,使用这些标头返回图像

$headers = [
  'content-type' => 'image/jpg',
  'content-disposition' => 'attachment; filename="photo.jpg'
];

现在,当window.location设置时,它只会下载图像 - 正是我想要的。

于 2013-03-11T17:21:21.207 回答