【发布时间】:2018-06-08 14:16:28
【问题描述】:
我有一个文件存储库,当我从浏览器调用它时,它会自动下载文件,这很好。 但我想在我的服务器上执行此请求,然后将文件结果提供给浏览器。这是来自我的服务器的获取请求的示例。
downloadFile(req , res , next) {
let options = {
url: 'url to my file repo',
};
request(options, function (err, resp, body) {
if (err) {
res.status(500).send("");
return
}
for (const header in resp.headers) {
if (resp.headers.hasOwnProperty(header)) {
res.setHeader(header, resp.headers[header]);
}
}
resp.pipe(res);
})
}
请求工作正常,当我从浏览器访问我的服务器时,它开始下载文件。一切似乎都很好,除了一件事,文件无法打开。 无法打开此文件格式,图像播放器告诉我(例如,如果文件是图像)。 问题出在哪里,是我从服务器提供文件的方式吗? 先感谢您。我浪费了很多时间,找不到解决方案。
【问题讨论】:
-
尽量不要设置
res标头。 -
@MukeshSharma 我尝试了很多带有标题的变体,但没有人帮助。
标签: javascript node.js file express