首页 > 解决方案 > 是否可以使用 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 对象存储在服务器内存中并通过管道返回客户端。

有没有办法在不将文件存储在服务器端内存中的情况下做到这一点?

标签: node.jsamazon-s3aws-sdk

解决方案


也许您可以将 s3 路径(如果它是公共存储桶)发送到您的客户端并使用File Saver下载文件


推荐阅读