やりたいこと
Laravelで、Intervention Imageで画像をリサイズしたいです。
縦横サイズ指定のリサイズはできたのですが、横を指定して縦を自動調節でのリサイズができません。
以下、状況です。
ご教示いただけますと幸いです。
うまくいっている縦横サイズ指定
以下のコードをCatsControllerに記載して、リサイズはできました。
// 画像をリサイズ うまくいく public function store(Request $request) { $cat = new Cat; $file = $request->file('mainimage_path'); // 画像の拡張子を取得 $extension = $request->file('mainimage_path')->getClientOriginalExtension(); // 画像の名前を取得 $filename = $request->file('mainimage_path')->getClientOriginalName(); // 画像をリサイズ $resize_img = Image::make($file)->resize(500, 375)->encode($extension); // s3のuploadsファイルに追加 $path = Storage::disk('s3')->put('/myprefix/'.$filename,(string)$resize_img, 'public'); // 画像のURLを参照 $url = Storage::disk('s3')->url('myprefix/'.$filename); $cat->mainimage_path = $url; ・・・他の項目を取得
起きている現象
以下のサイトを参考にこのように記述すると、画像が表示されません・・・
https://blog.capilano-fw.com/?p=1574#i-10
https://manablog.org/laravel-image-manipulation/
// 画像をリサイズ public function store(Request $request) { $cat = new Cat; $file = $request->file('mainimage_path'); // 画像の拡張子を取得 $extension = $request->file('mainimage_path')->getClientOriginalExtension(); // 画像の名前を取得 $filename = $request->file('mainimage_path')->getClientOriginalName(); // 画像をリサイズ変更したところ $width = 200; $resize_img = Image::make($file)->resize($width, null, function($constraint){ $constraint->aspectRatio(); }); // s3のuploadsファイルに追加 $path = Storage::disk('s3')->put('/myprefix/'.$filename,(string)$resize_img, 'public'); // 画像のURLを参照 $url = Storage::disk('s3')->url('myprefix/'.$filename); $cat->mainimage_path = $url; ・・・他の項目を取得
エラーは出ないのですが、このようになってしまい、画像が表示されません。
https://gyazo.com/a3aeb80c3f31fdbc5fc75a67f06bd5a7
コンソール
https://gyazo.com/3a89efdf51e4a82bb0eecd37346b7962
アドバイスをいただけますと嬉しいです。。
お願いいたします
回答1件
あなたの回答
tips
プレビュー