2014-02-27 48 views
10

有人知道如何在使用HTTP POST上传时如何在Amazon S3上载策略中允许多种内容类型?我似乎无法在任何地方找到答案。在HTTP POST中允许多种内容类型Amazon S3上载策略文档

我知道我可以限制上传到与该开头MIME类型的任何文件“图像/”如下:

{"expiration": "2015-02-28T00:00:00Z", 
    "conditions": [ 
    ["starts-with", "$Content-Type", "image/*"] 
    ] 
} 

但我会怎样,只允许一定的几MIME类型哪个可能不都是以相同的字符开头的?

回答

2

这不支持。它可以是单个模式匹配(包括通配符),也可以全部允许。

根据生成表单的方式 - 动态地假设 - 您可能能够简单地告诉应用程序当您请求生成表单的资源时打算上传的文件的内容类型,因此,告诉应用程序在表单上以及生成策略文档时使用什么内容类型的值。

如果应用程序未在其可接受值列表中找到该内容类型,则它可能会拒绝呈现该表单,并拒绝创建并签署匹配的策略语句。

根据应用的不同,可能会有小点太担心这里的Content-Type领域,因为这实际上没有限制,可以上传的内容类型...它只能限制在value传递的值参数input type="input" name="Content-Type"。这就是所有这些限制。

对于该值是否准确表示正在更新的有效负载的MIME类型没有进行验证,因此策略文档不限制可以上传的内容类型。这只是限制你可以上传的内容的种类索赔

接受其他方式无法使用的上传并在事后处理后端问题也可能更合适。