Col*_*tru 8 amazon-s3 amazon-web-services amazon-iam
我正在构建一个Web应用程序,它可以使用AWS for Browsers SDK将文件直接上传到公共S3存储桶.
我想限制可以上传的最大文件大小,虽然我可以对文件大小进行客户端验证,但纯客户端解决方案不是很健壮,我想添加一个服务器端验证也是如此.是否可以使用IAM角色为"S3:PutObject"操作执行此操作?
您可以在设置签名上传 URK 以便通过浏览器直接上传 S3 时创建的 s3Policy 中设置最小和最大文件大小。
这是一个示例(来自 Node.js 应用程序的 JavaScript) - 请参阅底部的“内容长度范围”部分:
var s3Policy = {
'expiration': expiration,
'conditions': [{
'bucket': aws.bucket
},
['starts-with', '$key', path],
{
'acl': readType
},
{
'success_action_status': '201'
},
['starts-with', '$Content-Type', request.type],
['content-length-range', 2048, 124857600], //min and max
]
};
Run Code Online (Sandbox Code Playgroud)
如果用户上传超过 S3 的文件,则会返回 400 错误请求,其正文中包含一条消息,表明已超出最大文件大小限制。
您可以使用上传表单中的 content-length-range 属性来限制上传对象的大小。
这是相关的文档页面:http://doc.s3.amazonaws.com/proposals/post.html#Limiting_Uploaded_Content
归档时间: |
|
查看次数: |
2260 次 |
最近记录: |