S3直接上传限制文件大小和类型(s3 direct upload restricting file

2019-06-21 03:52发布

一个新手的问​​题,但我已经升技一派,似乎无法找到任何解决方案。

我想允许用户通过我的服务器直接将文件上传到S3,不是第一。 通过这样做,有没有什么办法的文件,可以实际上传到S3之前被检查大小限制和允许的类型? 最好不要用闪光灯,但JavaScript的。

Answer 1:

如果你在谈论安全问题(人上传大文件到您的桶),是的,你可以限制基于浏览器上传到S3文件大小。

这里是“政策”变量,其中“内容长度范围内”是关键点的一个例子。

"expiration": "'.date('Y-m-d\TG:i:s\Z', time()+10).'",
"conditions": [
    {"bucket": "xxx"},
    {"acl": "public-read"},
    ["starts-with","xxx",""],
    {"success_action_redirect": "xxx"},
    ["starts-with", "$Content-Type", "image/jpeg"],
    ["content-length-range", 0, 10485760]
]

在这种情况下,如果uplaoding文件大小> 10mb的,上载请求将被拒绝亚马逊。

当然,启动上传程序之前,你应该使用JavaScript来检查文件的大小,并提出一些警告,如果它。

在JavaScript中获得文件大小



Answer 2:

AWS写了一个教程,说明如何创建HTML表单POST,让您的网站访问者使用标准的Web浏览器上传文件到您的S3帐户 。 它采用S3前签署的网址,以防止篡改,你可以限制文件大小的访问。



Answer 3:

做你想要做什么,你需要通过自己的网络服务上传。 这可能是最好的,因为你的最终用户到你的S3存储提供全球的写访问是一个安全噩梦,不要太何况就什么也没有从上传大文件,并用千斤顶顶起您的费用阻止他们。



文章来源: s3 direct upload restricting file size and type