我需要浏览器下载图像文件,就像单击 Excel 工作表时一样。
有没有办法仅使用客户端编程来做到这一点?
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="Scripts/jquery-1.10.2.js">
$(document).ready(function () {
$("*").click(function () {
$("p").hide();
});
});
</script>
</head>
<script type="text/javascript">
document.onclick = function (e) {
e = e || window.event;
var element = e.target || e.srcElement;
if (element.innerHTML == "Image") {
//someFunction(element.href);
var name = element.nameProp;
var address = element.href;
saveImageAs1(element.nameProp, element.href);
return false; // Prevent default action and stop event propagation
}
else
return true;
};
function saveImageAs1(name, adress) {
if (confirm('you wanna save this image?')) {
window.win = open(adress);
//response.redirect("~/testpage.html");
setTimeout('win.document.execCommand("SaveAs")', 100);
setTimeout('win.close()', 500);
}
}
</script>
<body>
<form id="form1" runat="server">
<div>
<p>
<a href="http://localhost:55298/SaveImage/demo/Sample2.xlsx" target="_blank">Excel</a><br />
<a href="http://localhost:55298/SaveImage/demo/abc.jpg" id="abc">Image</a>
</p>
</div>
</form>
</body>
</html>
下载 Excel 工作表时应该如何工作(浏览器的作用)?
使用 HTML5,您可以将“下载”属性添加到链接中。
<a href="/path/to/image.png" download>
然后,兼容的浏览器将提示下载具有相同文件名的图像(在本例中为 image.png)。
如果您为此属性指定一个值,那么它将成为新的文件名:
<a href="/path/to/image.png" download="AwesomeImage.png">
UPDATE:自 2018 年春季起,这不再可能对于跨域href
s。所以如果你想创建<a href="https://i.imgur.com/IskAzqA.jpg" download>
在 imgur.com 以外的域上,它将无法按预期工作。Chrome 弃用和删除公告 https://developers.google.com/web/updates/2018/02/chrome-65-deprecations#block_cross-origin_wzxhzdk5a_download
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)