2017-02-01 16 views
1

イメージ介入を使用してイメージをストレージフォルダに保存しています。私は以下のコードを持っており、それはちょうど空の画像でファイル名を保存するようだ。ファイルの内容をフォルダに書き込む方法が必要だと思いますが、スニペットには苦労しています。アップロードした画像をlaravelのStorageに保存する方法は?

if ($request->hasFile('photo')) { 
      $image  = $request->file('photo'); 
      $fileName = time() . '.' . $image->getClientOriginalExtension(); 

      $img = Image::make($image->getRealPath()); 
      $img->resize(120, 120, function ($constraint) { 
       $constraint->aspectRatio();     
      }); 

      //dd(); 
      Storage::disk('local')->put('images/1/smalls'.'/'.$fileName, $img, 'public'); 

答えて

3

あなたは

if ($request->hasFile('photo')) { 
      $image  = $request->file('photo'); 
      $fileName = time() . '.' . $image->getClientOriginalExtension(); 

      $img = Image::make($image->getRealPath()); 
      $img->resize(120, 120, function ($constraint) { 
       $constraint->aspectRatio();     
      }); 

      $img->stream(); // <-- Key point 

      //dd(); 
      Storage::disk('local')->put('images/1/smalls'.'/'.$fileName, $img, 'public'); 
} 
+0

感謝を行う必要があります。私はストリームが何を意味しているか明確ではないが、機能しているかどうかはわかりません。 –

+1

これが実際に何をするかについての説明は間違いなく有用であろう。 – verism

+0

[documentation](http://image.intervention.io/api/stream)を見れば簡単に見つけられます。 – Andrew

関連する問題