我想使用 PUT 方法将 LZMA 格式(统一资产捆绑包)格式的文件上传到Amazon服务器,但是我总是收到一条错误消息: “ errorMessage ”:“预期参数。主体为字符串,Buffer,Stream,Blob或类型化数组对象”。 我尝试缓冲文件,但无法正常工作,因此上载此类文件的最佳方法是什么。
var aws = require('aws-sdk');
var s3 = new aws.S3();
var mime = require('mime-types');
//.....
var mimetype = mime.lookup(f.name);
if (mimetype == false) {
mimetype = 'application/octet-stream';
}
//is not working
// var buffer = Buffer.from(new Uint8Array (f));
// fs.readFile(f, function (err, data)
s3.putObject({
Bucket: "my backet",
Key: f.name,
Body: f,
ContentType: mimetype,
CacheControl: 'no-cache',
Expires: 0
}, function(err, data) {
if (err) {
context.fail(err, "error");
}
console.log("success:" + f.name);
});