簡體   English   中英

使用 ajax 調用 MVC 從數據庫下載文件

[英]Download file from DB with ajax call MVC

我正在嘗試通過 MVC 中的 ajax 調用來實現文件下載功能。 在調用 controller 方法后,我總是有一個“parseerror”,有人能解釋一下為什么嗎?

我的 ajax:

tab.on("click", ".FileDownload", function (e) {

    //$('#uploadStatus').html("ok");
    var tr = $(this).closest("tr");
    var id = tr.data("id");

    $.ajax({
        type: "POST",
        url: "/File/FileDownload",
        //contentType: false,
        //processData: false,
        //dataType: "json",
        data: { fileId: id },
        success: function (data) {
            $('#uploadStatus').html("ok");
        },
        error: function (err) {
            alert(err.statusText);
        }
    });

});

和 controller:

[HttpPost]
    public FileResult FileDownload(int? fileId)
    {

        FileDBEntities db = new FileDBEntities();
        tblFile file = db.tblFiles.ToList().Find(p => p.id == fileId.Value);
        return File(file.Data, file.ContentType, file.Name);
    }

通過 razor 中的簡單下載鏈接,它可以工作,但不適用於 ajax。 我在這里做錯了什么?

為什么不簡單使用

tab.on("click", ".FileDownload", function (e) {

    //$('#uploadStatus').html("ok");
    var tr = $(this).closest("tr");
    var id = tr.data("id");

    window.location = window.location.origin + '/File/FileDownload?fileId=' + id;

});

[HttpGet]
    public FileResult FileDownload(int? fileId)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM