Laravel.8にて画像アップロード処理(プロフィールの画像アップデート)を実装しようとしたところ、エラーが出た。
全貌は見せられないが、このような処理を行おうとして躓いた。
storage/publicに保存するのではなく、新しくstorage/imagesというフォルダを作成し、保存をしようと試みた。
public function proUpdate(Request $request)
{
$user = Auth::user(); //ログインしているユーザー情報の取得
$img = $request->img; //フォームから受け取った画像の情報。
$fileName = $request->img->getClientOriginalName();// 画像の名前を取得
$user->proImg = $img; //画像のパスをDBに保存
$storeImg = $img->store('images', $fileName); //imagesフォルダを作って画像を保存
$user->save();
}
いざ、アップロード処理を実行すると、次のようなエラーが出た。
Disk[ファイル名] does not have a configured driver.
public以外のフォルダに保存したい場合は、storeではなく、storeAsを利用する必要があり、
$storeImg = $img->storeAs('images', $fileName);
とすることで解決しました。