2016-12-13 14 views
2

フォームの異なるセクションに複数の画像(ロゴ、カバー、サムネイル)を受け入れるフォームがあります。私はこれらをAmazon s3にアップロードしようとしています。私のコントローラでは:Laravel 5.2複数のfile_get_contents()がプロダクトで動作しない

public function store(Request $request){ 

    Storage::disk('s3')->put(
    $request->user()->id.'/thumbnail.png', 
    file_get_contents($request->file('thumbnail')), 
    'public' 
); 
    Storage::disk('s3')->put(
    $request->user()->id.'/cover.png', 
    file_get_contents($request->file('cover')), 
    'public' 
); 
    Storage::disk('s3')->put(
    $request->user()->id.'/logo.png', 
    file_get_contents($request->file('logo')), 
    'public' 
); 

} 

私は、ローカルホスト上で、このアップロードされた画像のURLをアップロードしてフェッチすることができるよしかし、私は「のfile_get_contents:ファイル名が空のエラーすることはできません」を取得LAMPとアマゾンのLinuxインスタンスである生産にを。何が間違っているのですか?

答えて

3

あなたは、ファイルがアップロードされたかどうかを確認alwyasする必要があります

if ($request->hasFile('thumbnail')) 
    Storage::disk('s3')->put(
     $request->user()->id.'/thumbnail.png', 
     file_get_contents($request->file('thumbnail')), 
     'public' 
    ); 
} 

https://laravel.com/docs/5.3/requests#files

+0

だから私は(7メガバイト程度)カバーのための大きな画像ファイルをアップロードしましたので、私はアップロードが最終的にやっている有効ではありませんでした推測「ロゴ」をアップロードしないでください。大容量のファイルでファイルアップロードが失敗した理由を考えると、私のコードはそれ以外の場合小さな画像サイズで動作しました。 –

+0

あなたは[ここ](https://laracasts.com/discuss/channels/general-discussion/file-validation-failing-on-larger-files?page=1)の回答を見つけることができます。 –

関連する問題