【问题标题】:How to download a file from MVC controller using jquery and knockout [duplicate]如何使用jquery和knout从MVC控制器下载文件[重复]
【发布时间】:2015-04-22 22:07:04
【问题描述】:

我在控制器中有一个方法可以返回 FileResult:

public FileResult DownloadRequestsAsCsvFile()
{   
    var contentType = "text/csv";
    var content = CreateCsvFileOfPendingLeadRequests();
    var bytes = Encoding.UTF8.GetBytes(content);
    var result = new FileContentResult(bytes, contentType);
    string n = string.Format("LeadRequests-{0:yyyy-MM-dd_hh-mm-ss-tt}.csv", DateTime.Now);
    result.FileDownloadName = n;
    return result
 }

我有一个敲除函数来调用控制器方法来下载文件,该方法被调用并且该方法完成但没有使用浏览器下载文件。如何让浏览器下载文件?

self.getCsvFileOfRequests = function () {
            $.get('../Home/DownloadRequestsAsCsvFile', function (csv) {

            }).done(function() {
                toastr.success("File downloaded successfully.")
            }).error(function() {
                toastr.error("There was a problem downloading the file.");
            });
        }

【问题讨论】:

    标签: jquery asp.net-mvc knockout.js


    【解决方案1】:

    您不能以这种方式使用 jQuery 真正下载文件。您需要做的就是将隐藏的 iframe 注入到您的 DOM 中,并将其源 url 设置为您要下载的文件的 url。请参阅this answer 了解更多信息。

    【讨论】:

      【解决方案2】:

      我只想将其设为锚链接。浏览器会处理剩下的事情。

      【讨论】:

        猜你喜欢
        • 2010-10-18
        • 2011-10-07
        • 1970-01-01
        • 1970-01-01
        • 2015-07-29
        • 1970-01-01
        • 2017-11-07
        • 2014-12-30
        • 1970-01-01
        相关资源
        最近更新 更多