Laravel 5将文件上传到错误网址的s3

时间:2018-01-31 16:19:53

标签: laravel laravel-5 amazon-s3

我在Laravel 5中将上传文件实现到s3,当上传文件时它会给出错误信息:执行错误\" PutObject \"在...上,我发现它发生是因为url尝试访问是错误的,网址是:

https://{buckets}.{s3 domain}/{buckets}/{filename}

,在s3域之前为什么laravel将桶名称放在url上?正确的网址应该是

https://{s3 domain}/{buckets}/{filename}

,那怎么解决呢?

以下是我的代码:

>     $file = $request->file('file');
>     $fileName = $file->getClientOriginalName();
>     $savedFileName = '/test_buckets/' . date('YmdHis') . '_' . $fileName;
>     $s3 = Storage::disk('s3');
>     $s3->put($savedFileName, file_get_contents($file), 'public');     

1 个答案:

答案 0 :(得分:0)

通过删除' public'来自$ s3-> put($ savedFileName,file_get_contents($ file),' public'),它看起来像bug - 当有可选的第三个参数' public'时,它会在网址中的域名前添加bukets名称。