【问题标题】:Delete file doesn't work with cors but upload works with cors with AWS S3 bucket删除文件不适用于 cors,但上传适用于带有 AWS S3 存储桶的 cors
【发布时间】:2019-12-14 19:25:00
【问题描述】:

我正在使用 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>

为什么会发生这种情况,我该如何解决这个问题

【问题讨论】:

    标签: javascript reactjs amazon-web-services amazon-s3


    【解决方案1】:

    您必须仅为putObject 生成预签名 URL。不支持通过预签名 URL 进行删除。仅支持GETPUT。在仔细检查是否应允许删除后,考虑使用服务器端代码进行删除。

    【讨论】:

      猜你喜欢
      • 2015-09-06
      • 2015-12-07
      • 2012-09-08
      • 2015-01-04
      • 2014-11-19
      • 2017-01-25
      • 2021-03-04
      • 2017-09-21
      • 2020-06-15
      相关资源
      最近更新 更多