【发布时间】:2017-02-28 22:17:27
【问题描述】:
我的 web api 有一个很长的内容请求参数。所以我需要发送一个 POST 请求。我的 api 正在创建一个 PDF 文件作为响应。但我无法使用 angularjs $http 提供程序获得结果。
var req = {
method: 'POST',
url: 'http://myapi.com/api/renderfile',
data: {
p1: 'very long text....' ,
p2: 'another very long text....',
p3: 'another very long text....'
}
}
$scope.isLoading = true;
$http(req).then(function(response){
// response is file result how can I save it ???
$scope.isLoading = false;
}, function(){
$scope.isLoading = false;
});
我无法在客户端保存文件响应?
回复是这样的:
当我使用 FileReader 时
new FileReader().readAsDataURL(new Blob([response.data], {type:'application/pdf'}));
弹出窗口出现在浏览器上:
但是文件是空的。
【问题讨论】:
-
响应内容类型是什么?
-
你真的需要为此通过 AJAX 吗?我认为一种常见的方法是返回一个指向远程仓库的链接,用户可以在其中下载文件并让浏览器处理下载。
-
“无法得到结果”是什么意思?响应对象中有什么?您收到什么错误消息?
标签: angularjs