强制浏览器在点击时下载图像文件
我需要浏览器来下载图像文件,就像在单击 Excel 工作表时一样.
I need the browser to download the image files just as it does while clicking on an Excel sheet.
有没有办法只使用客户端编程来做到这一点?
Is there a way to do this using client-side programming only?
<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>
<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">图片</a></p></div></表格></身体></html>
How should it work in case of downloading an Excel sheet (what browsers do)?
在下载Excel表格的情况下应该如何工作(浏览器做什么)?
解决方案推荐答案
使用 HTML5,您可以将下载"属性添加到链接中.
<a href="/path/to/image.png" download>
<a href="/path/to/image.png" 下载>
兼容的浏览器将提示下载具有相同文件名的图像(在本例中为 image.png).
If you specify a value for this attribute, then that will become the new filename:
如果您为此属性指定一个值,那么它将成为新的文件名:
<a href="/path/to/image.png" download="AwesomeImage.png">
<a href="/path/to/image.png" download="AwesomeImage.png">
相关文章