Storage.put() 抛出 - AWSS3Provider - 上传时出错 类型错误:无法读取未定义的属性"字节长度"


  • JavaScript Framework (Vue)
  • Amplify api (Storage)
  • 放大类别(存储)

获取无法读取未定义的属性' bylength '在使用amplify存储上传媒体到s3 bucket时,下面是我目前使用的代码

async onUpload(fileArr) {
if (fileArr.length > 0) {
console.log("fileArr", fileArr);
fileArr.map(async (obj) => {
try {
console.log({ Storage, Amplify });
console.log("Object =>", obj);
let baseData = await this.toBase64(obj);
console.log("Base Data =>", baseData);
const arrayBuffer = decode(baseData);
console.log("Array buffer =>", arrayBuffer);
let result = await Storage.put(
`hub/${obj.name}`,
arrayBuffer,
{
contentType: obj.type,
}
);
console.log("S3 Upload Result =>", result);
} catch (err) {
console.log("Error in uploading", err);
}
});
}
},

我试图在上传之前将媒体转换为base64,但仍然得到相同的错误

错误输出

Error - AWSS3Provider - error uploading TypeError: Cannot read property 'byteLength' of undefined

我授予我的IAM用户和角色的完全访问权限,但它也不起作用,我在网上寻找多种解决方案,但我仍然没有把它弄出来。

我在使用applify上传数据到s3时也遇到过这个问题。

问题不在你的代码,它的库版本问题,确保使用相同的Amplify版本,这是在服务器上使用

最新Amplify版本为4.3.0https://www.npmjs.com/package/aws-amplify

相关内容

最新更新