被CORS策略阻止:从Amazon S3调用Image时没有“ Access-Control-Allow-Origin”标头

时间:2020-10-07 13:32:20

标签: reactjs amazon-s3 cors pdf-generation jspdf

我正在尝试将该网页导出为PDF,并且该页面包含来自我们的S3服务器的图像。导出PDF时,图像不会出现在PDF中。

当我检查浏览器控制台时,看到以下错误。

Access to image at 'https://skreem2-dev.s3-us-west-2.amazonaws.com/influencers/large-virat-kohli-2retxr.jpg' from origin 'http://localhost:3001' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我已将S3 Buckets CORS政策更新为以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>http://localhost/</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
    <AllowedOrigin>http://localhost:3001/</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>

有什么主意如何将图像渲染为PDF并绕过此错误?

1 个答案:

答案 0 :(得分:0)

我也遇到过同样的问题。我在 HTML 页面中的图像标记中添加了属性 crossorigin="anonymous",它解决了从 s3 存储桶中提取图像时出现的问题。