干预\图像\异常\NotReadableException I

问题描述

在干预中,laravel 8 中的图像源不可读

<?PHP

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Intervention\Image\Facades\Image;
use Intervention\Image\ImageManager;

class PostsController extends Controller
{

  public function __construct()
  {
    $this->middleware('auth');
  }
  public function create()
  {
    return view('posts.create');
  }
  public function store()
  {
    $data  = request()->validate([
        // 'another' => '','caption' => 'required','image' => ['required','image'],]);

    // open an image file
    $image = Image::make(public_path('storage/{$imagePath}'))->fit(1200,1200);
    $image->save();
    $imagePath = request('image')->store('uploads','public');

    auth()->user()->posts()->create([
      'caption' => $data['caption'],'image' => $imagePath,]);

    return redirect('/profile/' . auth()->user()->id);
  }
}

我不知道是 public_path 还是什么导致错误在这里有帮助!!

解决方法

我尝试了以下方法,效果很好。

public function store()
{
    $data = request()->validate([
        'caption' => 'required','image' => ['required','image'],]);

    
    $imagePath = request('image')->store('uploads','public');
    //dd($imagePath);

    $img = ImageManagerStatic::make(storage_path().'/app/public/'.$imagePath);
    $img ->fit(400,400);
    $img -> save(storage_path().'/app/public/'.$imagePath);

    
    return redirect('/profile/' . auth()->user()->id);
}