2016-11-11 302 views
0

我創建了一個Amazon S3存儲桶,並且我已經從手機應用上傳了這些文件/圖像。我必須顯示大量圖片的帖子,圖片會自動綁定圖片網址。但我不知道如何獲取網址,因爲圖片不應直接公開顯示。我如何在我的應用程序中顯示它們?如何從URL獲取Amazon AWS S3存儲桶中的文件?

$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

您需要從這裏https://aws.amazon.com/documentation/的S3Client使用密鑰和訪問密鑰來生成URL。我可以提供示例,但它會在PHP中。 – Justinas

+0

謝謝,如果你能給我一個PHP例子,這將是非常好的,因爲這個服務是用PHP開發的。感謝Justinas :) – vishgarg

回答

0

所有你需要使用AWS PHP SDK第一。還要確保你有有效的訪問密鑰和密鑰。

比一切都很簡單。

$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; 
} 
相關問題