我想通过点击按钮获得FileResult
。当我按下按钮时,文件读得很好,但没有任何反应。这是我的代码,
$(document).ready(function () {
$('#resource_btn').click(function () {
$.ajax({
url: "/Download/DownResource",
type: "POST",
cache: false,
success: function (data) {
// ?
},
error: function () {
alert("error");
}
});
});
});
[HttpPost]
public ActionResult DownResource() {
string fileName = Path.Combine(Server.MapPath("~/images/"), "down_arrow.png");
return File(fileName, "Iamge/png"); // Is that all?
}
答案 0 :(得分:0)
最好的方法是直接从表单发送请求,而不是JS。 您可以直接发布表单,而不是JA和ajax。
或者从JS中,您可以将接受的方法更改为GET并通过window.location发送。
但是有一些变通方法可以强制从JS下载,但在旧版浏览器中并没有得到很好的支持。您可以访问:Create a file in memory for user to download, not through server
获取更多信息