node.js - 是否可以使用 AWS-SDK 直接从 S3 将文件流式传输到客户端?
问题描述
我正在尝试将文件流式传输到客户端而不通过 GetObject 方法下载文件并将此响应返回。可能吗?
当我这样做时:
s3.getObject(params).on('httpHeaders', function (statusCode, headers) {
res.set('Accept-Ranges', headers['accept-ranges'])
res.set('Content-Length', headers['content-length']);
res.set('Content-Type', headers['content-type']);
})
.createReadStream().pipe(res);
我将 s3 对象存储在服务器内存中并通过管道返回客户端。
有没有办法在不将文件存储在服务器端内存中的情况下做到这一点?
解决方案
也许您可以将 s3 路径(如果它是公共存储桶)发送到您的客户端并使用File Saver下载文件
推荐阅读
- android - leanback:ImageViewCard 如何使信息块透明?
- jenkins - 如何使用声明性管道更改多分支项目的上下文消息?
- javascript - VueJS 渲染 VNode
- java - 单击时Java-FX接收Shape-Array的索引
- java - 线程之间的Java共享变量
- javascript - 允许在内容可编辑的末尾移出跨度
- angular - 当你的函数接受一个包含 | 的参数时,这意味着什么?象征?
- scala - 弃用类构造函数参数
- javascript - 在 Symfony 3 中使用 ajax 提交多个表单?
- parallel-processing - 在 Rust 中,是否可以在没有静态生命周期的情况下在多个线程之间共享数据?