今回の記事は、Laravelでの画像アップロードの流れをある程度理解している方を対象としています。
画像アップロードについて、全体の流れは書きません。
ポイントは、
・画像アップロードのディレクト指定方法
・シンボリックリンクの方法
・画像の呼び出し方
この3点です。
画像アップロードのディレクト指定方法
画像をアップロードするディレクトリを指定する方法は
controller中で storeにディレクトリを指定します。
$fileImage = $request->file('image')->store('public/profile'); $user->image_path = basename($fileImage);
今回指定したのは、public/profile ディレクトリです。
store('public/profile');
これが実行されると
storage/appの配下にディレクトリが作成されます。
今回ので言うと
storage/app/public/profile ディレクトリが作成されて、
その配下に、画像がアップロードされます。
シンボリックリンクの方法
シンボリック方法です。
php artisan storage:link
こちらのコマンドでpublic と storageが連携されるのは分かっているが、ディレクトを追加した際に、どうなるのか分からないという方もいるかと思います。
心配いりません。
こちらのコマンドを実行すると、publicディレクトリに、storageがリンクされます。
画像の呼び出し方
では、このリンクさせた画像を呼び出してみましょう。
<img src="{{ asset('storage/profile/' . $user->image_path) }}" ※$user->image_path storeする際に、保存していたファイル名
これで、指定したディレクトリからファイルを呼び出すことが可能です。