AWS s3通过Laravel上传文件失败

时间:2016-01-25 03:35:57

标签: linux laravel amazon-web-services amazon-s3 dns

我在我的一个控制器功能中运行了一个带有类似代码的Laravel应用程序:

$s3 = Storage::disk('s3');
$s3->put( $request->file('file')->getClientOriginalName(), file_get_contents($request->file('file')) );

我相信Laravel在幕后使用Flysystem连接到s3。在尝试执行这段代码时,我收到如下错误:enter image description here

Laravel文档并没有让我深入了解这个问题是如何/为何发生的。知道这里发生了什么吗?

编辑:在浏览了一些其他stackoverlflow线程之后:

似乎问题可能与我的服务器的DNS更相关?我在Linode实例上的ubuntu 14.04上。我使用Nginx作为我的网络服务器。

2 个答案:

答案 0 :(得分:2)

您的S3配置似乎有误,因为它尝试使用s3.us-standard.amazonaws.com的主机也无法在我的计算机上解析。您应该验证是否已配置正确的存储桶+区域。

答案 1 :(得分:1)

检查您的S3 API endpoints是否正确。

要取消权限(角色/凭据)和相关的设置错误,请尝试使用AWS CLI s3api从该服务器执行put-object

aws s3api put-object --bucket example-bucket --key dir-1/big-video-file.mp4 --body e:\media\videos\f-sharp-3-data-services.mp4