{ repository.getAttachments(req.body) -6ren">
gpt4 book ai didi

node.js - 如何发送外部文件,只使用 url(https ://. ....)

转载 作者:搜寻专家 更新时间:2023-10-31 23:34:35 25 4
gpt4 key购买 nike

我正在尝试:

  .post("/getAttachments", (req, res, next) => {
repository.getAttachments(req.body)
.then((attachment) => {
return res.sendFile('https://host.com' + attachment.req.path);
})
.catch(next);
})
///clientService:
function getAttachments(params) {
return $http.post(baseUrl + "/getAttachments", params, {responseType: 'arraybuffer'}).success(function (data) {
let blob = new Blob([data], {type: 'application/vnd.ms-excel'});
saveAs(blob);
});
};

所有作品仅限本地文件。你能帮忙吗?

最佳答案

res.sendFile 仅适用于本地文件。对于远程文件,您需要类似的东西:

request('https://host.com' + attachment.req.path).pipe(res);

使用请求模块:

确保发送正确的 header 并添加一些错误处理。

另一种选择是将用户重定向到正确的 URL 而不是发送它:

res.redirect('https://host.com' + attachment.req.path);

如果您希望客户端下载文件而不需要您的服务器在中间代理请求。

关于node.js - 如何发送外部文件,只使用 url(https ://. ....),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42627397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com