2017-02-01 211 views
1

我正在使用图像干涉将图像保存到存储文件夹。我有下面的代码,它似乎只是保存一个空白图像的文件名。我认为我需要一种方式将文件内容写入文件夹,但要努力处理这个片段。如何将上传的图像保存到laravel的存储中?

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

相关问题