Chrome扩展上传流到S3



我正在尝试使用S3多部分上传,使用客户端上的流将数据上传到S3。

我使用Browserify将Nodejs代码转换为一个可以由Chrome扩展加载的文件。

这是我的代码:

const Stream = require('stream');
var inputBytesReadable = new Stream.Readable();
// add data to the Stream
var s3 = new AWS.S3({
params: {Bucket: bucketName}
});
var params = {
Bucket: bucketName,
Key: fileName,
PartNumber: partNumber, 
UploadId: uploadId, 
Body: inputBytesReadable
};
s3.uploadPart(params, function(err, data) {
if (err)
{
appendMessage("Error in uploading "+fileName+"part "+partNumber);
console.log(err, err.stack); // an error occurred
}
});

但是,这会导致错误:InvalidParameterType:预期参数。正文为字符串、缓冲区、流、Blob或类型化数组对象

我做错了什么?有没有什么方法可以用客户端JavaScript将流传递给S3?

除非在Node.js环境中使用,否则AWS JavaScript SDK似乎不支持流输入。有一个特定的环境检查可以启用此验证。

因此,似乎不可能在前端使用带有AWS SDK的流。

最新更新