javascript - Storage.put() 在 React + AWS Amplify 应用程序中返回错误请求错误(状态代码 400)
问题描述
代码:
import { API, Storage } from "aws-amplify"
import { FilePond, registerPlugin } from "react-filepond"
...
const [newMedia, setNewMedia] = useState()
...
const mediaUpload = () => {
Storage.put(newMedia[0].file, "test.png")
.then((res) => console.log(res, "Upload result"))
.catch((err) => console.error(err, "Error log"))
}
...
<FilePond
allowMultiple={false}
allowFileRename={true}
fileRenameFunction={(file) => uuid() + file.extension}
onupdatefiles={(file) => setNewMedia(file)}
labelIdle='Drag & Drop your files or <span class="filepond--label-action">Browse</span>'
/>
<Button color="primary" onClick={() => mediaUpload()}>
Upload
</Button>
我已经按照此Amplify doc中的描述进行了尝试。
但是现在我遇到了这样的错误。
即使我遵循了官方文档,我也不知道为什么会出现此错误。我认为我的 S3 存储桶策略存在问题,但我找不到正确的解决方案。
我没有使用现有的 S3 存储桶,而是使用 Amplify CLI 在我的项目中从头开始对其进行初始化。
我可以使用react-s3节点模块来避免这个错误。但只是上传。删除存储桶上的对象的功能目前不起作用。
目前,我的存储桶的策略设置为 react-s3 定义的。
请告诉我应该如何使标准功能正常工作。
解决方案
推荐阅读
- javascript - 使用 AJAX、JQuery 和 HTML 显示/隐藏数据
- java - 如何用 java 2d 数组解决这个问题?
- python - 根据另一个列表排序对对象列表进行排序
- reactjs - 渲染选择
- autohotkey - 在后台运行的 AHK 脚本
- java - Java Selenium 仅针对第一页重复打印表格行
- postgresql - 用于保持规范表与原始表同步的 Postgres 触发器
- linux - 在 NASM 汇编器中从键盘读取两次的问题
- azure - 将 Azure 应用服务连接到 keyvault 支持的应用配置会引发 403
- java - 一种优雅的方式来计算每个位置中每种类型的数量