
じろう
2019年11月02日に参加
学習履歴詳細
[Laravel]課題アプリ作成。InterventionImageを使って、画像のアップロード前にリサイズをかけてみる。
今日のYWT
やったこと
Travelog
画像圧縮
- 方法を調べる
- Intervention Imageを使ってみることにする
- Qiitaの記事通りやってみるものの、うまくいかない
Article
と紐付いていることと、保存先のパスが間違っていた- 画像のアップロードはできるが、
storage_key
に入れるための画像パスがうまく取得できない - 強引に文字列連結してなんとかする
わかったこと
Intervention Image
- 画像圧縮してからアップロードのコード
// 画像アップロード if ($request->file('files')) { foreach ($request->file('files') as $index=>$e) { // $storage_key = $e['photo']->store('uploads', 'public'); $filename = $e['photo']->getClientOriginalName(); $photo = Image::make($e['photo']) ->resize(800, null, function ($constraint) {$constraint->aspectRatio();}) ->save(storage_path('app/public/uploads/' . $filename)); $article->photos()->create([ 'name' => $filename, 'storage_key' => 'uploads/' . $storage_key->filename . "." . $storage_key->extension, ]); } }
Image::make
で画像ファイルのための場所を新規作成する感じ?
resize
でリサイズ
->save()
で変更内容を保存
AWS Lambda
- サーバーレス
- コードを実行する環境だけを提供
- サーバーがないのでサーバー維持費的なものがかからない
次やること
- ファイルパスは今かなり強引な方法で取得しているけどこれをどうにかしたい
PHP
Docker
Laravel
2020年11月02日(月)
3.1時間