reactjs - AWS S3:CORS 配置未实施
问题描述
我正在尝试将网页下载为 PDF。但是由于这个问题,图像没有以 PDF 格式出现:
Access to image at 'https://server.s3-us-west-2.amazonaws.com/images/icon.png' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
为了解决这个问题,我做了以下事情:
在 S3 存储桶 CORS 配置中,我添加了以下代码 -
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://localhost:3000/</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
在(反应)前端,我在标签中添加了一个属性crossorigin="anonymous":
<img src={process.env.REACT_APP_AWS_S3_PATH + `icons/${data.displayIcon}`} crossorigin="anonymous" alt="icon"/>
谁能告诉我,我在哪里做错了?
解决方案
您是否确保存储桶设置为公开?当找不到您需要的文件时,S3 也会返回 cors 错误
推荐阅读
- mongodb - 如何在mongodb聚合操作中使用$lte函数
- java - 通过 ShellExecuteEx 控制 jar 的运行
- video - Vimeo 全屏背景不自动播放
- google-apps-script - 如何使用 Google 表格脚本查找列中第一个匹配项的索引?
- java - 如果扫描仪接收到 int 以外的内容,则会创建无限循环
- sql - 在 Dfunction VBA 中使用变量
- python - 如何从 setuptools 安装程序 (setup.py) 中生成 python grpc 代码?
- database - Spring Boot - Liquibase 不创建 DATABASECHANGELOG 表
- actionscript-3 - 设置 XML .@
基于interator AS3 - spring-boot - 在 Spring Boot 2 + Spring Security 5 应用程序中结合基于表单和基于 oauth2 的登录提供程序