我使用了aws sdk(https://github.com/aws/aws-sdk-php)。
码
$result = $client->putObject(array(
'Bucket' => $bucket,
'Key' => $key,
'Body' => $file,
'ACL' => 'public-read',
));
它运作良好,但我有一个问题:
感谢。
答案 0 :(得分:13)
在响应中返回。请参阅API docs for putObject。
$result = $client->putObject(array(
'Bucket' => $bucket,
'Key' => $key,
'Body' => $file,
'ACL' => 'public-read',
));
$url = $result['ObjectURL'];
您还可以使用getObjectUrl()
方法获取网址。
$url = $client->getObjectUrl($bucket, $key);
答案 1 :(得分:2)
返回的结果是Guzzle \ Service \ Resource \ Model的实例。
要获取网址,只需使用该类提供的get方法。
$result = $client->putObject(array(
'Bucket' => $bucket,
'Key' => $key,
'Body' => $file,
'ACL' => 'public-read',
));
$url = $result->get('ObjectUrl');
答案 2 :(得分:1)
对象URL在函数调用中返回的$result
变量中可用。
要访问对象网址,请执行以下操作:
$result = $client->putObject(array(
'Bucket' => $bucket,
'Key' => $key,
'Body' => $file,
'ACL' => 'public-read',
));
$data=$result->toArray();
$object_url=$data['ObjectURL'];