AWS S3 php api: как получить url после загрузки файла?

я использовал AWS sdk (https://github.com/aws/aws-sdk-php).

код

$result = $client->putObject(array(
        'Bucket' => $bucket,
        'Key'    => $key,
        'Body'   => $file,
        'ACL'    => 'public-read',
));

это хорошо работает, но у меня есть вопрос:

  1. Как получить url после успешной загрузки файла.

спасибо.

3 ответов


он возвращается в ответе. Вижу документы API для putObject.

$result = $client->putObject(array(
    'Bucket' => $bucket,
    'Key'    => $key,
    'Body'   => $file,
    'ACL'    => 'public-read',
));

$url = $result['ObjectURL'];

вы также можете использовать getObjectUrl() метод для получения URL.

$url = $client->getObjectUrl($bucket, $key);

возвращаемый результат является экземпляром Guzzle\Service\Resource\Model.

чтобы получить url-адрес, просто используйте метод get, предоставленный этим классом.

$result = $client->putObject(array(
    'Bucket' => $bucket,
    'Key'    => $key,
    'Body'   => $file,
    'ACL'    => 'public-read',
));

$url = $result->get('ObjectUrl');

URL объекта доступен в $result переменная, возвращаемая при вызове функции.

для доступа к URL объекта сделайте следующее:

$result = $client->putObject(array(
    'Bucket' => $bucket,
    'Key'    => $key,
    'Body'   => $file,
    'ACL'    => 'public-read',
));
$data=$result->toArray();
$object_url=$data['ObjectURL'];