我正在将文件上传到我为其创建了Cloudfront发行版的S3存储桶。我正在使用Aws\S3\S3Client
类。
用putObject
上传后,响应对象和getObjectUrl
方法都将对象的URL返回为https://s3-eu-west-1.amazonaws.com/mybucket/path/myfile.jpg。我正在尝试获取Cloudfront网址,该网址类似于https://d111111111ck.cloudfront.net/path/myfile.jpg。
有什么方法可以直接获取此url,还是必须从我的分发主机名和文件路径构建它?
最佳答案
您不会从S3获得Cloudfront URL,这是一项不同的服务。如果您使用putObject
,则您已经知道文件路径(在Key
中指定的值)。
只需返回文件路径前面的cloudfront URL,例如...
$filePath = '/path/file.jpg';
$client->putObject(array(
'Bucket' => 'mybucket',
'Key' => $filePath,
'SourceFile' => $fileSource,
'ACL' => 'public-read'
));
return 'https://d111111111ck.cloudfront.net' . $filePath;
关于php - S3上传后如何返回Cloudfront网址?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23543856/