我正在努力下载角度js中的所有文件格式。使用我的代码片段,我可以下载文本格式。但对于所有其他格式,我无法打开下载的文件。我的REST服务提供响应#pow {
width: 50%;
display: inline-block;
margin-right: 15px;
}
#foundhome {
width: 38%;
display: inline-block;
position: absolute;
margin-left: 0;
}
。我的codebase使用content-type: application/octet-stream
调用express.js的res.send(body)方法。下载的图像大小加倍。另外,我可以看到正文的类型是字符串。
如果请求是下载调用,我试图用content-type:application/json
调用express.js的res.download(path, filename, callback)
函数。这是一种正确的方法吗?另外我不确定在content-type:application/octet-stream
函数中发送哪条路径,因为该文件来自服务器端。请帮助我。
我的客户代码:
res.download
答案 0 :(得分:2)
我的一位同事分享了一个解决我问题的链接。有办法直接代理传入的流。详细信息可在https://github.com/request/request
中找到req.pipe(request('url')).pipe(resp)
有了这个,流可以被客户端使用,客户端可以调用链接/ url来获取附加文件。
客户代码:
$scope.downloadFile = function(key) {
var url = 'http://localhost:8080/getFile';
var element = angular.element('<a/>');
element.attr({
href: url,
target: '_blank',
download: fileName
})[0].click();
});
}