Php 如何生成允许多个HTTP方法(此处:GET和HEAD)的预签名URI?
我使用的是aws s3 sdk for PHP,您可以在其中轻松生成预签名URI,如下所示:Php 如何生成允许多个HTTP方法(此处:GET和HEAD)的预签名URI?,php,amazon-s3,aws-sdk,pre-signed-url,Php,Amazon S3,Aws Sdk,Pre Signed Url,我使用的是aws s3 sdk for PHP,您可以在其中轻松生成预签名URI,如下所示: $cmd = $my_S3Client->getCommand( 'GetObject', [ 'Bucket' => 'my_bucket', 'Key' => 'a_file.txt']); $a_presigned_uri = $my_S3Client ->createPresignedRequest($cmd, $lifes
$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', [...])
与
这两种方法都非常有效
但我希望能够生成一个预先签名的URI,我们可以在上面请求GET或HEAD请求。我不知道该怎么做
(注意:所有这一切的目的是,我的客户可以在URI上做一个头部,以便在他尝试下载之前知道文件的大小。因此,如果有可能使用
'GetObject'
生成一个预签名的URI,然后让用户只从这个预签名的URI中检索文件的大小,我也很感激。)答案。)目前,您只能为一个对象和一个客户端方法生成预签名URL。这可能会在将来更改,但谁知道何时更改。目前,您只能为一个对象和一个客户端方法生成预签名URL。这可能会在将来更改,但谁知道何时更改
->getCommand('HeadObject', [...])