使用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