我正在尝试创建一个点击图像下载链接,当用户点击链接/按钮时,他应该可以选择下载
这是下面的代码
<form>
<input type="button" value="download" onClick="window.location.href='http://myimagelink.com'" >
</form>
为什么它不起作用?
因为在window
的末尾添加了一个s
,所以该代码不起作用。
不过,您应该使用常规的<a href="">
。
要触发下载而不是在浏览器窗口中渲染图像,需要使用Content-Disposition
HTTP标头将其标记为附件。
例如,使用Apache配置:
<IfModule mod_headers.c>
<FilesMatch "'.jpeg$">
Header set Content-Disposition "attachment"
</FilesMatch>
</IfModule>
没有合理的方法可以使用JavaScript(尽管,我想您可以使用XMLHttpRequest下载图像,从中生成data:
方案URI,然后将location.href
设置为该URI,同时谎报内容类型)。
这对我来说效果很好。。
<a href="http://dummyimage.com/600x400/000/fff.png"
download>Download this image</a>