我在我的一个控制器功能中运行了一个带有类似代码的Laravel应用程序:
$s3 = Storage::disk('s3');
$s3->put( $request->file('file')->getClientOriginalName(), file_get_contents($request->file('file')) );
我相信Laravel在幕后使用Flysystem连接到s3。在尝试执行这段代码时,我收到如下错误:
Laravel文档并没有让我深入了解这个问题是如何/为何发生的。知道这里发生了什么吗?
编辑:在浏览了一些其他stackoverlflow线程之后:
似乎问题可能与我的服务器的DNS更相关?我在Linode实例上的ubuntu 14.04上。我使用Nginx作为我的网络服务器。
答案 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