如何回复Node.js的响应中的文件(来自AWS)



我正在使用node.js api上传/下载配置文件图像。所有配置文件图像都存储在AWS S3存储中。

如何将文件从s3下载到node.js路由,然后将文件返回给客户端中。我不能使用文件托管,因为所有路由都受令牌保护,用户可能会或可能无法基于某些逻辑访问某些配置文件图像。

尽管S3 SDK效果很好,但是我使用了来自AWS的简单流来读取并将数据的插条发送到响应中。

使用getObject()下载文件表格s3 buccet。请参阅以下示例: -

var stream = require('stream');
const s3 = require('../config/s3.config.js');
exports.doDownload = (req, res) => {
 const s3Client = s3.s3Client;
 const params = s3.downloadParams;
 params.Key = req.params.filename;
 s3Client.getObject(params)
 .createReadStream()
 .on('error', function(err){
 res.status(500).json({error:"Error -> " + err});
 }).pipe(res);
}

相关内容

  • 没有找到相关文章

最新更新