在我的快递服务器上,我有一个post-request,它从Amazon S3获取pdf文件并将其发送回angular。这就是我的快速服务器端点的结束方式:
var fileStream = s3.getObject(options).createReadStream();
fileStream.pipe(res);
在我发布的内容的角度方面,并尝试保存此
$http.post(url, data)
.then(function (data, status, headers, config) {
var file = new Blob([data.data], {type: 'application/pdf'});
FileSaver.saveAs(file, vm.projectName);
})
我收到的pdf文件无效。我有大约300kb(超过原始文件),我相信它不是pdf而是缓冲区?
我想要实现的目标: - 向服务器发布请求 - 服务器从S3获取文件,将其发送回Angular Controller - Angular Controller将其保存为.png
答案 0 :(得分:1)
当您进行POST通话时,请在配置中将responseType
请求设置为arrayBuffer
,以便响应转换为正确。
$http.post(url, data, {responseType: "arraybuffer"})