我在我的 rails 应用程序中使用 Froal 编辑器并将图像上传到 Amazon S3。我有一个奇怪的问题。我的网站有一个问题和答案部分,对于问题和答案,您都可以上传图片。当用户创建问题或响应并使用编辑器上传图像时,效果很好。但该用户也可以编辑他们的问题或回复。如果他们回到他们的问题并尝试添加另一个图像或删除当前图像并添加另一个图像,我会得到一个
POST https://breatheimagevaultdev1.s3.amazonaws.com/ 403 (Forbidden
错误。
在萤火虫中它说
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Invalid according to Policy: Policy Condition failed: ["starts-with"
, "$key", "uploads/"]</Message><RequestId>3DCD6323247DF507</RequestId><HostId>x8HscPCt7rwDX+35AaPxbd
/H9ycBPjiewTni/CI3KBSnyqqn4rtzZAtlGCYUS5sEQs+shpuUen0=</HostId></Error>
这发生在网站的其他地方 - 使用图像创建内容很好,但返回并进行编辑会触发错误。
这是我的 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>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>5000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我猜它与此有关,