S3 预签名 URL 上传对于除 .txt 之外的其他文件类型抛出 CORS 错误

问题描述 投票:0回答:1

我正在尝试使用预先签名的 URL 将文件上传到 S3 存储桶。但是,只有 txt 上传有效,其他类型会引发 CORS 错误。

从原点 Y 在 X 获取数据的访问已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头

我确实有 CORS 配置设置,以允许来源、标头和其他常规内容。但我似乎无法理解为什么 txt 有效但其他类型不起作用。我在 url 生成期间指定内容类型,并在发送 PUT 请求时传递它。

reactjs amazon-web-services amazon-s3
1个回答
0
投票

您需要修改存储桶上的跨源资源共享(CORS)。它位于存储桶的权限选项卡中,一直位于底部。

这是一个示例配置

[
    {
        "AllowedHeaders": [
            "Authorization"
        ],
        "AllowedMethods": [
            "GET",
            "POST",
            "HEAD",
            "PUT",
            "POST"
        ],
        "AllowedOrigins": [
            "https://www.example.com",
            "https://subdomain.example.com"
        ],
        "ExposeHeaders": [
            "Access-Control-Allow-Origin"
        ]
    }
]

请参阅此帖子了解更多信息

© www.soinside.com 2019 - 2024. All rights reserved.