我有一个S3 Fine Uploader实现工作得很好.默认情况下,它上传文件很好,但它们是私有的.基于FineUploader的文档,我将如下的objectProperties选项添加到我的客户端js config中,以便FineUploader将文件公开:
objectProperties: { acl: "public-read" },
但是我现在在上传期间从s3获得访问被拒绝的响应:
AccessDenied
Access Denied (removed) (removed)
如果有帮助,这是我的CORS Bucket Policy:
* GET POST PUT DELETE 3000 ETag content-type origin x-amz-acl x-amz-meta-qqfilename x-amz-date authorization
这是请求的原始HTTP转储:
Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:en-GB,en-US;q=0.8,en;q=0.6 Connection:keep-alive Content-Length:39643 Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryR70e49pqaNEGSsT1 Host:quickfunnel.s3.amazonaws.com Origin:http://mysite.local Referer:http://mysite.local/dashboard/ User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 Request Payload ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="key" d50e0c4f-1886-48bb-b077-075fca79b6dc.JPG ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="AWSAccessKeyId" ACCESS-KEY-REMOVED ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="Content-Type" image/jpeg ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="success_action_status" 200 ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="acl" public-read ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="x-amz-meta-qfclientid" 1 ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="x-amz-meta-qqfilename" Capture.JPG ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="policy" eyJleHBpcmF0aW9uIjoiMjAxNC0wMS0wMlQyMzo0MzoxMC4wNDVaIiwiY29uZGl0aW9ucyI6W3siYWNsIjoicHVibGljLXJlYWQifSx7ImJ1Y2tldCI6InF1aWNrZnVubmVsIn0seyJDb250ZW50LVR5cGUiOiJpbWFnZS9qcGVnIn0seyJzdWNjZXNzX2FjdGlvbl9zdGF0dXMiOiIyMDAifSx7ImtleSI6ImQ1MGUwYzRmLTE4ODYtNDhiYi1iMDc3LTA3NWZjYTc5YjZkYy5KUEcifSx7IngtYW16LW1ldGEtcWZjbGllbnRpZCI6IjEifSx7IngtYW16LW1ldGEtcXFmaWxlbmFtZSI6IkNhcHR1cmUuSlBHIn0sWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsIjAiLCIxNTAwMDAwMCJdXX0= ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="signature" K7FC4Toe/xmr0SKGOTy6NG+morw= ------WebKitFormBoundaryR70e49pqaNEGSsT1 Content-Disposition: form-data; name="file"; filename="Capture.JPG" Content-Type: image/jpeg ------WebKitFormBoundaryR70e49pqaNEGSsT1--
Ray Nicholus.. 20
最有可能的是,您尚未正确配置客户端IAM组.为了偏离默认ACL"private",与请求关联的IAM组必须能够执行"s3:PutObjectAcl"操作.您需要确保与客户端密钥关联的IAM组具有此权限.
最有可能的是,您尚未正确配置客户端IAM组.为了偏离默认ACL"private",与请求关联的IAM组必须能够执行"s3:PutObjectAcl"操作.您需要确保与客户端密钥关联的IAM组具有此权限.