Javascript 如何将传入的文件流从节点保存到AngularJS
在我的express服务器上,我有一个post请求,它从AmazonS3获取一个pdf文件并将其发送回angular。以下是我的express server端点的结尾:Javascript 如何将传入的文件流从节点保存到AngularJS,javascript,angularjs,node.js,pdf,filesaver.js,Javascript,Angularjs,Node.js,Pdf,Filesaver.js,在我的express服务器上,我有一个post请求,它从AmazonS3获取一个pdf文件并将其发送回angular。以下是我的express server端点的结尾: var fileStream = s3.getObject(options).createReadStream(); fileStream.pipe(res); 从角度看,我正在发布并试图保存这些内容 $http.post(url, data) .then(function (data, status, headers, co
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当您进行POST调用时,将请求的
responseType
设置为arrayBuffer
内部配置,以便将响应正确转换为
$http.post(url, data, {responseType: "arraybuffer"})
谢谢你,先生!正是我需要的