【问题标题】:can not add file in aws s3 bucket using postman无法使用邮递员在 aws s3 存储桶中添加文件
【发布时间】:2020-05-09 18:39:12
【问题描述】:

我正在尝试使用邮递员在我的 AWS 账户的 s3-bucket 中添加一个文件。请看下面的截图。

我在标头中将 Host 作为 divyesh.vkinds.com.s3.amazonaws.com 传递,其中 divyesh.vkinds.com 是我的存储桶名称。在正文中,我将 file 作为 index.html 作为文件类型,如下图所示。

但它给了我提供的“x-amz-content-sha256”标头与计算的内容不匹配。 错误。我搜索了它,但找不到任何东西。

【问题讨论】:

  • 你是如何计算负载哈希的?
  • 我根本不计算它。
  • 您的 PUT 请求具有授权标头和自定义 x-amz-content-sha256 标头。邮递员不提供那些 afaik 所以你必须这样做。它们是否已在您的 Postman 收藏中预先配置?它们的分布情况如何?

标签: amazon-web-services amazon-s3


【解决方案1】:

我也遇到了同样的问题。问题是,邮递员不计算 SHA。它默认为空字符串 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

的 SHA

因此,在邮递员标头中,添加一个显式密钥 x-amz-content-sha256。使用 sha 命令计算文件的 SHA256 值并作为值提供。下面的命令适用于 linux 风格

shasum -a 256 index.html

问题中的其他几个观察结果。

  1. 您可以将正文更改为二进制并选择您要上传的文件。
  2. 提供完整的路径,包括上传 URL 中的文件名。例如。如果您提供的 URL 为 .s3..amazonaws.com/test/index.html,该文件将被复制到存储桶中名为 index.html 的测试目录

【讨论】:

    【解决方案2】:

    请检查内容标题。以 XX-XX-XXXX 格式将 Content-Type 添加为 text/plain 和 date

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 2022-01-24
      • 2012-09-08
      • 1970-01-01
      相关资源
      最近更新 更多