在HTTP POST Amazon S3上载策略文档中允许多种内容类型

时间:2014-02-27 15:38:55

标签: amazon-s3

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

我知道我可以限制上传到任何MIME类型以“image /”开头的文件,如下所示:

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

但是我如何才允许只允许某些可能并非都以相同字符开头的MIME类型?

1 个答案:

答案 0 :(得分:7)

不支持此功能。它是单个模式匹配(包括通配符),或者您必须允许所有。

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

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

根据应用程序的不同,这里的Content-Type字段过于担心可能没什么意义,因为这实际上并不限制可以上传的内容类型......它只是限制了传递的值在value的{​​{1}}参数中。这就是所有这些实际上的限制。

没有验证是否该值准确表示正在更新的有效负载的MIME类型,因此策略文档不限制您可以上载的内容类型。它仅限制您正在上传的声明的内容类型。

在事实之后,接受其他不可用的上传并在后端处理问题也可能更合适。