gpt4 book ai didi

node.js - 使用 NodeJS+Express、aws-sdk 将文件直接流式传输到 s3

转载 作者:搜寻专家 更新时间:2023-10-31 22:21:48 25 4
gpt4 key购买 nike

我想通过带有 NodeJS 的浏览器直接上传一些大文件到 s3,目前还不清楚如何准备这个文件上传到 s3。可能有更好的模块(如 Knox)来处理这种情况,但我不确定。有什么想法吗?

文件对象

  file: { 
webkitRelativePath: '',
lastModifiedDate: '2013-06-22T02:43:54.000Z',
name: '04-Bro Safari & UFO! - Animal.mp3',
type: 'audio/mp3',
size: 11082039
}

S3 putObject

var params = {Bucket: 'bucket_name/'+req.user._id+'/folder', Key: req.body['file']['name'], Body: ???};
s3.putObject(params, function(err, data) {
if (err)
console.log(err);
else
console.log("Successfully uploaded data to myBucket/myKey");
});

最佳答案

现在支持流式传输 ( see docs ),只需将流作为 Body 传递即可:

var fs = require('fs');
var someDataStream = fs.createReadStream('bigfile');
var s3 = new AWS.S3({ params: { Bucket: 'myBucket', Key: 'myKey' } });
s3.putObject({ Body: someDataStream, ... }, function(err, data) {
// handle response
})

关于node.js - 使用 NodeJS+Express、aws-sdk 将文件直接流式传输到 s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19761587/

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