如何从Amazon S3获取文件?允许

时间:2016-02-15 09:49:06

标签: laravel amazon-s3

我正在尝试将文件上传到Amazon S3,然后下载它。该文件已加载但我无法得到它bаск。它看起来像是权限问题。

我的Bucket权限:

Grantee: mgalex (List, Update/Delete, View Permissions, Edit Permissions)
Grantee: Any Authentificated AWS User (List, Update/Delete, View Permissions)

文件是使用权限创建的:

Grantee: mgalex (Open/Download, View Permissions, Edit Permissions)

通过“Any Auttiftifated AWS User”权限上传的文件。我知道正确的权限必须只是“mgalex”。但没有受让人“任何认证的AWS用户”我有一个错误(AccessDenied)。 告诉我,如何设置正确的权限?

我使用Laravel

1 个答案:

答案 0 :(得分:0)

权限看起来没问题。你需要授权。尝试这样的事情。您需要在database.php上定义s3凭据

$disk = Storage::disk('s3');

$client = $disk->getDriver()->getAdapter()->getClient();

$command = $client->getCommand('GetObject', [
                    'Bucket' => 'path/to/your/bucket',
                    'Key' => 'filename.jpg'
                ]);

    $request = $client->createPresignedRequest($command, '+5 minutes'); // the url is valid for 5 mins

echo (string) $request->getUri();