我创建了一个Amazon S3存储桶,并且我已经从手机应用程序上传了文件/图像。我要展示包含大量图片的帖子,图片会自动绑定图片网址。但我不知道如何获取URL,因为图像不应公开直接显示。如何在我的应用中显示它们?
$cmd = $client->getCommand('GetObject',[
'Bucket' => 'myinstaclassbucket',
'Key' => 'e12e682c-936d-4a97-a049-6f104dd7c904.jpg',
]);
$request = $client->createPresignedRequest($cmd,$timetoexpire);
$presignedurl = (string) $request->getUri();
echo $presignedurl;
答案 0 :(得分:0)
首先,您需要使用AWS PHP SDK。还要确保您具有有效的Access密钥和密钥。
比一切都顺利。
$bucket = 'some-bucket';
$key = 'mainFolder/subFolder/file.xx';
// Init client
$client = new S3Client([
'key' => '*YOUR ACCESS KEY*',
'secret' => '*YOUR SECRET KEY*',
]);
if ($client->doesObjectExists($bucket, $key)) {
// If passing `expire` time you will get signed URL
$url = $client->getObjectUrl($bucket, $key, time() + (60 * 60 * 2));
} else {
$url = null;
}