为了账号安全,请及时绑定邮箱和手机立即绑定

如何生成允许多个 HTTP 方法(此处:GET 和 HEAD)的预签名 URI?

如何生成允许多个 HTTP 方法(此处:GET 和 HEAD)的预签名 URI?

PHP
手掌心 2021-10-22 16:48:28
我正在为 PHP 使用 aws s3 sdk,您可以在其中轻松生成这样的预签名 URI:$cmd = $my_S3Client->getCommand(    'GetObject', [        'Bucket' => 'my_bucket',        'Key' => 'a_file.txt']);$a_presigned_uri = $my_S3Client    ->createPresignedRequest($cmd, $lifespan);    ->getUri();这个 URI 只能通过 GET 查询。现在,如果我想创建一个可使用 HEAD 请求查询的预签名 URI,我只需要编写相同的代码,但替换->getCommand('GetObject', [...])和->getCommand('HeadObject', [...])这两个工作完美。但是我希望能够生成一个预签名的 URI,我们可以在该 URI 上请求 GET 或 HEAD 请求。我不知道该怎么做。(注意:这一切的目的是我的客户可以在 URI 上做一个 HEAD,以便在他尝试下载文件之前知道文件的大小。所以如果有可能生成一个带有'GetObject'和的预签名 URI那么用户只能从这个预先签名的 URI 中检索文件大小的方法,我也很欣赏这个答案。)
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

截至目前,您只能为一个对象和一个客户端方法生成预签名的 URL。这可能会在未来改变,但谁知道什么时候。


查看完整回答
反对 回复 2021-10-22
  • 1 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信