是否可以使用aws sdk从文件路径上传数据到s3

时间:2017-08-14 18:28:21

标签: amazon-web-services amazon-s3 react-native

我正在使用aws sdk将文件上传到s3,如:

let params = {
   Body: fileInBase64Format...
};

s3.upload(params);

我想要做的是避免像这样在内存中加载文件,但我想这样做:

let params = {
   Body: 'file:///...path-to-file.mov'
};
s3.upload(params);

我正在使用react native v0.44
是否可以上传这样的文件,但避免使用base64?

1 个答案:

答案 0 :(得分:1)

是的,您可以将文件路径添加到文件流中,然后运行 S3.putObject 方法将其上传到s3。

var fStream = fs.createReadStream("file:///...path-to-file.mov");
var Parameters = {
    Bucket: s3bucket,
    Key: newkey,
    Body: fStream 
};
s3.putObject(Parameters, function(Error, Data){
    if(Error){
        console.error(Error);
    } else {
        console.log(Data);
    }
});

希望它会有所帮助!