【问题标题】:Getting Private File from AWS S3 with php使用 php 从 AWS S3 获取私有文件
【发布时间】:2016-08-27 08:05:39
【问题描述】:

我正在尝试从 AWS S3 获取私有文件但出现错误

 $client = S3Client::factory([
        'version' => 'latest',
        'region'  => 'us-west-2',
        'signature'    => 'v4',
        'credentials' => [
            'key'    => '****',
            'secret' => '-****'
        ]
    ]);


  $bucket =  'name';
    $file = 'lks/002geH1P1WFXGHWafCwgTw5mwm58X.pdf';
    $url = "{$bucket}/{$file}";

    $request = $client->get($url);
    $signedUrl = $client->createPresignedUrl($request, '+10 minutes');
    echo  $signedUrl;

我收到这个错误

可捕获的致命错误:参数 2 传递给 Aws\AwsClient::getCommand() 必须是数组类型,给定字符串, 在 /home/ubuntu/vendor/aws/aws-sdk-php/src/AwsClientTrait.php 中调用 在第 78 行并定义在 /home/ubuntu/vendor/aws/aws-sdk-php/src/AwsClient.php 在第 202 行

【问题讨论】:

    标签: php amazon-web-services amazon-s3


    【解决方案1】:

    这行得通......希望它会帮助别人;)

    $cmd = $client->getCommand('GetObject', [
                'Bucket' => $bucket,
                'Key' => $file
            ]);
    
            $request = $client->createPresignedRequest($cmd, '+20 minutes');
            $presignedUrl = (string)$request->getUri();
            echo $presignedUrl;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      • 2018-01-26
      • 1970-01-01
      • 2018-08-12
      • 2018-04-24
      • 2019-12-01
      • 2017-11-08
      相关资源
      最近更新 更多