【问题标题】:S3 Post Policy key not honoring foldersS3 Post Policy 密钥不支持文件夹
【发布时间】:2016-06-02 01:30:57
【问题描述】:

我正在尝试让 S3 HTML 上传工作,我正在尝试硬编码定义键名,而不是使用 ${filename}。这是由我的 API 服务器控制的,但是当我指定一个带有文件夹分隔符的密钥并上传它时,它会转换为它的 html 实体 %2F

所以我有这个 POST 政策:

{
    "expiration": "2017-01-01T00:00:00Z",
    "conditions": [ 
        {"bucket": "mybucket"},
        {"key": "i/1/1.png"},
        {"acl": "public-read"},
        {"Content-Type": "image/png"},
        ["content-length-range", "0", "1048576"]
    ]
}

这样使用 HTML 表单:

<html> 
  <head>
    <title>S3 POST Form</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  </head>

  <body> 
    <form action="https://mybucket.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
      <input type="hidden" name="key" value="i/1/1.png">
      <input type="hidden" name="AWSAccessKeyId" value="AWS_ACCESS_KEY_ID"> 
      <input type="hidden" name="acl" value="public-read"> 
      <input type="hidden" name="policy" value="base64 policy">
      <input type="hidden" name="signature" value="signature">
      <input type="hidden" name="Content-Type" value="image/png">
      <!-- Include any additional input fields here -->

      File to upload to S3: 
      <input name="file" type="file"> 
      <br> 
      <input type="submit" value="Upload File to S3"> 
    </form> 
  </body>
</html>

上传文件后,文件名如下:

https://mybucket.s3.amazonaws.com/i%2F1%2F1.png

所以问题是,我如何让 / 成为文字文件夹分隔符?

【问题讨论】:

    标签: amazon-s3 amazon


    【解决方案1】:

    好吧,我是个白痴。我了解到,对于 S3,%2F/ 都是有效的文件夹分隔符。

    【讨论】:

      猜你喜欢
      • 2017-07-21
      • 1970-01-01
      • 2018-04-05
      • 2016-12-31
      • 2014-07-23
      • 1970-01-01
      • 2017-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多