amazon-web-services - 使用 Amplify 在 S3 上上传文件时出现 AuthorizationHeaderMalformed 错误
问题描述
我有这部分代码使用 Amplify 将文件发送到 S3
const file = e.target.files[0];
try {
console.log(Storage.vault)
await Storage.put(file.name, file);
} catch (error) {
console.log('Error uploading file: ', error);
}
但总是返回这个错误:
<Error>
<Code>AuthorizationHeaderMalformed</Code>
<Message>The authorization header is malformed; the authorization header requires three components: Credential, SignedHeaders, and Signature.</Message>
<RequestId>YP2HEHPE20T13HNJ</RequestId>
<HostId>T5mH0m+CHZ6n/JuShi7FdUBYZt3BEz4QiEHMmckL0v5VrB7DqupGbmadxDgZnitWFI0IUYVmBig=</HostId></Error>
我使用 Cognito 登录我的系统,并使用此代码设置 Amplify 的 de 配置
Auth: {
identityPoolId: process.env.REACT_APP_IDENTITY_POOL_ID,
region: process.env.REACT_APP_REGION,
userPoolId: process.env.REACT_APP_USER_POOL_ID,
userPoolWebClientId: process.env.REACT_APP_CLIENT_ID,
},
Storage: {
AWSS3: {
region: process.env.REACT_APP_REGION,
bucket: process.env.REACT_APP_BUCKET,
}
}
如果我使用 AWS SDK 在 Amplify 上获取连接信息,我可以在 S3 上进行上传,但只有 Amplify 不能。
为了配置我的存储桶和身份池,我使用了放大文档。
解决方案
推荐阅读
- ruby-on-rails - Rails 与自身的关联不起作用
- qt - 如何使用 QMessageBox 显示纯文本?
- python - 遍历进程列表以检查 PID 是否与 Python 子进程一起存在
- c++ - 正则表达式在 23 个字符处停止工作,但前提是我传入字符串文字
- windows - 在两个不同进程之间共享文件句柄
- arrays - 在多个文本文件中搜索字符串并通过将其附加到 summary_[date].log 来复制行
- asp.net - IIS 上的 ASp.Net MVC 站点,仅 CSS 文件出现 500 错误
- java - 当我尝试调试单个单元测试时,IntelliJ IDEA 运行完整的测试套件
- javascript - SharePoint JavaScript 更新选项 field.set_choice 不存在
- javascript - 通过 https net::ERR_CONNECTION_CLOSED 将 SOCKET.IO-client (angular) 连接到 SOCKET.IO-server (node.js)