尝试使用Presigned POST强制图像上传:上传图像时Content-Type策略失败

时间:2016-02-26 15:01:07

标签: amazon-web-services file-upload amazon-s3

我正在使用Ruby AWS SDK生成Presigned Post对象,以允许用户将图像直接上传到S3(您知道,标准工作流程)。这是我如何生成预先签名的帖子对象:

CONVERT(VARCHAR(10), CONVERT(DATE, CONVERT(char(8), DateOfBought )), 104)

def s3_presigned_post S3_BUCKET.presigned_post( key: aws_key, content_type_starts_with: 'image/', success_action_status: '201', acl: 'public-read') end 部分直接从AWS documentation(cmd-f“Field Starts With”)中拉出。

当我尝试使用此对象返回的字段随后上传图像时,我收到以下响应:

content_type_starts_with: 'image/'

如果删除<?xml version="1.0" encoding="UTF-8"?> <Error> <Code>AccessDenied</Code> <Message>Invalid according to Policy: Policy Condition failed: ["starts-with", "$Content-Type", "image"]</Message> <RequestId>[redacted]</RequestId> <HostId>[redacted]</HostId> </Error> 约束,则上传成功。在Paw中,我确认图片确实上传的内容类型为content_type_starts_with

enter image description here

同样,制作网络表单并提交它也会给出我同样的答案:

image/jpeg

如果有人知道我做错了什么,那就太好了!

0 个答案:

没有答案