Download file with ajax() POST request via Spring MVC

后端 未结 5 738
予麋鹿
予麋鹿 2020-12-06 11:24

I try to download a file. The action is triggered by ajax() POST request. The request sends data in JSON format to the controller. The controller gener

5条回答
  •  一个人的身影
    2020-12-06 11:44

    If you want download file without change URL, you can call form.submit() programmatically instead of using AJAX.

    JavaScript:

    function downloadFileUsingForm(url) { 
        var form = document.createElement("form");
        form.method = "post";
        form.action = url;
        document.body.appendChild(form);
        form.submit();
        document.body.removeChild(form);
    }
    downloadFileUsingForm("/YourController/DownloadFile");
    

    Controller:

    [HttpPost]
    public ActionResult DownloadFile()
    {
        string content = "Some Values";
        byte[] bytes = System.Text.UTF8Encoding.UTF8.GetBytes(content);
        return File(bytes, System.Net.Mime.MediaTypeNames.Application.Octet, "file.txt");
    }
    

提交回复
热议问题