【问题标题】:AWS-SDK: Executing GetObject() gets an Empty StreamAWS-SDK:执行 GetObject() 得到一个空流
【发布时间】:2022-01-30 03:08:16
【问题描述】:

我的主要目标是获取特定对象的信息。

$client = $adapter->getClient();
$objectInfo = $client->getObject(
    [
        'Bucket' => 'bucket-name',
        'Key'    => "key-name",
    ]
);

dd($objectInfo->toArray()["Body"]);

运行时,我得到了结果:

GuzzleHttp\Psr7\Stream {
  -stream: stream resource {
    wrapper_type: "PHP"
    stream_type: "TEMP"
    mode: "w+b"
    unread_bytes: 0
    seekable: true
    uri: "php://temp"
    options: []
  }
  -size: null
  -seekable: true
  -readable: true
  -writable: true
  -uri: "php://temp"
  -customMetadata: []
}

任何解决它的想法将不胜感激。

【问题讨论】:

    标签: laravel amazon-web-services amazon-s3 aws-sdk aws-php-sdk


    【解决方案1】:

    我认为您应该尝试从对象调用 getContents() 方法。有关更多输入,请参阅以下页面 https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-stream-wrapper.html

    https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-GuzzleHttp.Psr7.Stream.html#_getContents

    $objectInfo['Body']->getContents();

    【讨论】:

    • 感谢您的帮助,它确实有效。当你有几分钟的时间你会检查以取悦this 它与 GeObjectAcl 相关
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多