问题描述
我正在使用 Node.js 和 aws-sdk 构建 API,因此我有一个 GET 函数可以通过 ID 或 KEY 下载文件>
export const downloadFile = async(req: Request,res: Response) => {
const params = {
Bucket: AWS_S3.Bucket,Key: req.params.key
};
res.setHeader('Content-disposition','attachment');
s3.getobject(params)
.createReadStream()
.on('error',error => {
return res.status(500).json({
message: 'Ocurrio un error al descargar el archivo',error
});
}).pipe(res);
}
问题在于键的名称,因为包含 / 并且 Node.js 认为这是一个新的路由。
示例:
const URL_API = 'http://localhost:3000/api';
const KEY = '/mendozarq/images/example.jpg'
const URL = `${URL_API}/download/${KEY}`;
最后我得到了这个错误:
Cannot GET /api/download//mendozarq/images/example.jpg
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)