使用Angular通过Ajax下载文件

我有一个生成CSV文件并将其通过http / ajax get返回到页面的服务。我希望用户单击按钮,调用服务,然后将文件下载到用户的浏览器。

我想使用Angular Way,尽管我认识到这可能与Ajax或浏览器的关系要比Anguler本身更多。

该服务在C#中,它返回的内容是:

return File(Encoding.UTF8.GetBytes(WriteCSV(assetList)), "text/csv", "results.csv");

调用该服务的控制器代码如下所示。它有效,但是我不知道如何成功:

$scope.exportCSV = function () {

$http({

method: "get",

url: "ExportCSV"

}).

error(function (data, status, headers, config) {

alert("Error exporting data to CSV.");

});

};

回答:

您无法从常规的ajax

GET或POST启动下载,而必须执行传统方式,例如window.location='url',使用正确的内容类型设置正确的http标头,这将在用户浏览器中提示下载对话框

以上是 使用Angular通过Ajax下载文件 的全部内容, 来源链接: utcz.com/qa/400941.html

回到顶部