10

我使用了 aws sdk ( https://github.com/aws/aws-sdk-php )。

代码

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

它运作良好,但我有一个问题:

  1. 文件上传成功后如何获取url。

谢谢。

4

3 回答 3

22

它在响应中返回。请参阅putObject 的 API 文档

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

$url = $result['ObjectURL'];

您也可以使用该getObjectUrl()方法获取 URL。

$url = $client->getObjectUrl($bucket, $key);
于 2013-08-27T15:19:55.050 回答
6

返回的结果是 Guzzle\Service\Resource\Model 的一个实例。

要获取 url,只需使用该类提供的 get 方法。

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

$url = $result->get('ObjectURL');
于 2014-03-26T21:03:49.093 回答
2

对象 URL$result在函数调用中返回的变量中可用。

要访问对象 URL,请执行以下操作:

$result = $client->putObject(array(
    'Bucket' => $bucket,
    'Key'    => $key,
    'Body'   => $file,
    'ACL'    => 'public-read',
));
$data=$result->toArray();
$object_url=$data['ObjectURL'];
于 2014-02-28T14:56:55.910 回答