画像をアップロード後にアップロードした画像を読み込むことができない
・PHP
・フレームワーク:laravel
・ライブラリ:laravel-admin
・DB:MySQL
・ツール:a5m2
laravel-adminの$form->imageでイメージをアップロードするフォームを作成しDBに画像をアップロードする機能を作成しています。
発生している問題・エラーメッセージ
動作確認をおこなっていたところ、フォームから登録はできるのですが、
登録したデータを再編集しようとした際に、アップロードした画像に×印がついて正しく読み込めません。
試したこと
1.a5m2からDBの値を参照したところ、文字化けを起こしていたので、テーブルの文字コードを確認しました。
テーブルのデフォルトは ⇒ DEFAULT CHARSET=utf8mb4 該当のイメージカラムは文字コードの指定無し ⇒'image' blob,
2.フォームからアップロードした際に、プロジェクトフォルダ直下のimagesフォルダに画像データが格納されていることは確認しています。
また開発者ツールから、表示が×印になってしまうページでhtmlを確認したところ、
<img src="/storage/images/~.jpg"
となっていましたが、storageフォルダにはimagesフォルダ、また画像データがないので、参照できないのでしょうか・・・。
3.laravel-admin\config\admin.phpの以下のコードにローカルホストのアドレスを指定したが、改善されず。
'disk' => 'admin', 'directory' => [ 'image' => 'images', 'file' => 'files', ], ],
4.diskメソッドを呼び出していないため、デフォルトが呼ばれているのかと思い、
laravel-admin\docs\form-upload.mdの
'disks' => [ ... , 'admin' => [ 'driver' => 'local', 'root' => public_path('upload'), 'visibility' => 'public', ], ],
のlocalをpublicに変更したが解決できず。
5.$form->image('img')->move('storage/images')と指定してみたとこと、
開発者ツールで確認したら
<img src="/storage/storage/images/~
とstorageが2回続く形になってしまい、解決できませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。