【问题标题】:Getting MalFormed Xml error while uploading large files to S3 using aws amplify resumable uploading使用 aws amplify 可恢复上传将大文件上传到 S3 时出现 MalFormed Xml 错误
【发布时间】:2022-06-16 22:45:17
【问题描述】:

错误:

AWSS3UploadTask - 完成上传时出错 MalformedXML:您使用的 XML 提供的格式不正确或未验证我们的 已发布架构

代码:

export async function uploadVideoFile(file, progressChange) {
  const fileName = `${file.name}`;
  const dirName = 'xyz'
  const key = `${dirName}/${fileName}`;


  // return;
  try {
    const upload =  await Storage.put(key, file ,{
      resumable: true,
      errorCallback(err){
        console.log(`my error : ${err}`);

      },
      progressCallback(prog) {
        console.log((prog.loaded / prog.total) * 100)
        progressChange((prog.loaded / prog.total) * 100);


      },
    }
    
    
    );
    return upload
  } catch (err) {
    console.log(`storage error : ${err}`);
    throw err;
  }
}

【问题讨论】:

    标签: javascript amazon-web-services amazon-s3 aws-amplify


    【解决方案1】:

    只需添加

    在 S3 存储桶 CORS 配置中公开标头中的 ETag

    <ExposeHeader>ETag</ExposeHeader>
    

    【讨论】:

      【解决方案2】:

      根据上面 Chetan Khanna 的回答,只需在 2022 年将其添加到 JSON 中即可:

       "ExposeHeaders": [
                   "ETag",
                   "x-amz-meta-custom-header"
        ]
      

      取自: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/cors.html

      【讨论】:

        猜你喜欢
        • 2019-02-20
        • 1970-01-01
        • 1970-01-01
        • 2017-08-08
        • 2012-04-24
        • 2022-09-28
        • 2020-05-07
        • 2020-11-08
        相关资源
        最近更新 更多