我正在使用react-s3从s3上传和删除文件。 如果存储桶是公共的,则对两种方法都可以正常工作,但是当将其设置为私有时, 仅上传文件有效,删除文件引发错误:
type: "cors"
url: "https://mylink.myfile"
redirected: false
status: 403
ok: false
statusText: "Forbidden"
这也是我对CORS配置的看法:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<ExposeHeader>ETag</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
为什么会这样,我该如何解决
答案 0 :(得分:0)
您必须仅为putObject
生成预签名URL。通过预先签名的URL不支持删除。仅GET
和PUT
支持它。在仔细检查是否应允许删除之后,考虑使用服务器端代码进行删除。