如何从Amazon S3获取文件?

时间:2016-02-15 13:22:36

标签: laravel amazon-s3

我正在尝试编写并将文件下载到Amazon S3。该文件已加载但我无法取回:

public function putFile() 
{
    $s3 = Storage::disk('s3');

    $url = 'https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xpa1/v/t1.0-9/p720x720/12631558_953568381347717_3978737099026165391_n.jpg?oh=9e14f5ea6f8e3a3fc8ffa07095d4c766&oe=57321C9D&__gda__=1463610491_c1f275837b7f5b4d2041597a3d7bb9c8';        
    $file = file_get_contents($url);

    $s3->put('upload/test/file.jpg', $file);        
}

public function getFile() 
{
    $contents = $s3->get('upload/test/file.jpg');        
    dd($contents);
}

如果我调用getFile()函数,我收到了这个错误:

FileNotFoundException in FilesystemAdapter.php line 58:
upload/test/file.jpg

我的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 Authentificated AWS User”,则代码可以正常工作。告诉我,我该怎么办,不要为每个文件手动创建权限? 我在filesystem.php中的设置是正确的。有什么不对的?
请帮忙。

0 个答案:

没有答案