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

Mic*_*ael 14 amazon-s3

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

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

{"expiration": "2015-02-28T00:00:00Z",
  "conditions": [ 
    ["starts-with", "$Content-Type", "image/*"]
  ]
}
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*bot 7

这不受支持.它是单个模式匹配(包括通配符),或者您必须允许所有.

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

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

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

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

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

  • 确实如此,但对于常见情况,通常最好指定接受的图像或 PDF 内容。 (2认同)