gpt4 book ai didi

node.js - 如何使用 NodeJS 将大文件(> 1GB)直接从给定 URL 上传到 Amazon S3,而不实际将文件保存在本地?

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:24 25 4
gpt4 key购买 nike

我尝试使用 NodeJS 使用 aws-sdk 以多种方式将大文件上传到 S3,但最终只上传了 1mb 的文件,实际上是 1.2 GB。

所以,我尝试在node js中使用streaming-s3,代码如下所示。

我提到了https://www.npmjs.com/package/streaming-s3用于streaming-s3包。

var streamingS3 = require('streaming-s3');
var request = require('request');
var url = 'XXXXXXXXX';
var rStream = request.get(url);

var uploader = new streamingS3(
rStream,
{accessKeyId: 'XXXXXXXXXXXXX',
secretAccessKey: 'XXXXXXXXX'
},
{
Bucket: 'XXXXXXXXX',
Key: 'XXXXXXX',
ContentType: 'text/html'
},

{
concurrentParts: 2,
waitTime: 10000,
retries: 1,
maxPartSize: 10 * 1024 * 1024
}
);

uploader.begin();

当我运行此代码时,文件中的 block 实际上并未以流的形式上传到 S3。仅上传 1mb,而不是整个文件。还有其他方法可以从 URL 将文件上传到 S3 吗?

最佳答案

尝试使用s3-upload-stream 。它使用分段上传。对于大于 100mb 的对象,建议使用 Multipart Uploads .

关于node.js - 如何使用 NodeJS 将大文件(> 1GB)直接从给定 URL 上传到 Amazon S3,而不实际将文件保存在本地?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58096334/

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