【问题标题】:Allowing multiple content types in HTTP POST Amazon S3 upload policy document在 HTTP POST Amazon S3 上传策略文档中允许多种内容类型
【发布时间】:2014-02-27 15:38:55
【问题描述】:

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

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

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

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

【问题讨论】:

  • 示例中的小错字:["starts-with", "$Content-Type", "image/"](不带通配符)

标签: amazon-s3


【解决方案1】:

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

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

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

根据应用程序的不同,在这里过分担心Content-Type 字段可能没有什么意义,因为这实际上并没有限制可以上传的内容类型......它只是限制了传入的值valueinput type="input" name="Content-Type" 的参数。这就是所有这些实际上的限制。

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

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

【讨论】:

  • 是的,但对于常见的情况,通常最好指定接受图像或 PDF 内容。
猜你喜欢
  • 2013-08-12
  • 2019-10-07
  • 2015-10-19
  • 2013-01-21
  • 2017-12-30
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多