【发布时间】:2013-07-05 20:22:24
【问题描述】:
我需要浏览器下载图像文件,就像单击 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表格的情况下应该如何工作(浏览器做什么)?
【问题讨论】:
-
download属性。 -
确保文件下载的最佳方法是在服务器端设置内容配置,大多数客户端解决方案并不那么可靠。
-
有一个类似的问题已经为您解答:stackoverflow.com/a/6799284/1948211
-
Karl-Andre Gagnon : 请正确地通过它。[我没有标记 HTML 5,因为我不想使用它] 并且没有接触服务器
标签: javascript jquery html