Storage.put() throwing - AWSS3Provider - error uploading TypeError: Cannot read property 'byteLength' of undefined

Storage.put() throwing - AWSS3Provider - error uploading TypeError: Cannot read property 'byteLength' of undefined

获取 无法读取 属性 'byteLength' of undefined 使用放大存储将媒体上传到 s3 存储桶时,下面是我目前使用的代码

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.0 https://www.npmjs.com/package/aws-amplify