如何通过单击HTML按钮从ASP.Net获取FileResult?

时间:2017-02-08 08:28:21

标签: javascript c# jquery ajax asp.net-mvc-5

我想通过点击按钮获得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?
}

1 个答案:

答案 0 :(得分:0)

最好的方法是直接从表单发送请求,而不是JS。 您可以直接发布表单,而不是JA和ajax。

或者从JS中,您可以将接受的方法更改为GET并通过window.location发送。

但是有一些变通方法可以强制从JS下载,但在旧版浏览器中并没有得到很好的支持。您可以访问:Create a file in memory for user to download, not through server

获取更多信息