問題
画像を取得して表示させようとしたときに、データを取得してくることまではできたのですが、表示すると404エラーがでてきて、パスは間違っていないのに、表示できませんでした。
開発環境
PHP :7.2.15
Laravel :5.6
画像の取得、表示については公式リファレンスや他の記事等で書いてあることを参考にしていたのですが、大まかには以下の流れです。
解決方法
画像自体のパスは間違っていなかったので、「Public」のシンボリックリンクのパスを調べたところ下のように「storage -> /Users/[ユーザ名]/laravel/application/storage/app/public」となっていました。
root@qw2b32a12s7e:/var/www/public# ls -la
total 32
drwxr-xr-x 13 root root 416 Apr 10 03:56 .
drwxr-xr-x 27 root root 864 Apr 10 02:56 ..
drwxr-xr-x 3 root root 96 Apr 1 08:07 css
-rw-r--r-- 1 root root 6148 Apr 10 07:53 .DS_Store
-rw-r--r-- 1 root root 0 Apr 1 08:07 favicon.ico
-rw-r--r-- 1 root root 593 Apr 1 08:07 .htaccess
-rw-r--r-- 1 laradock www-data 1823 Apr 1 08:07 index.php
drwxr-xr-x 3 laradock laradock 96 Apr 1 08:07 js
-rw-r--r-- 1 root root 70 Apr 1 08:07 mix-manifest.json
-rw-r--r-- 1 root root 24 Apr 1 08:07 robots.txt
lrwxr-xr-x 1 root root 56 Apr 10 03:56 storage -> /Users/[ユーザ名]/laravel/application/storage/app/public
-rw-r--r-- 1 root root 914 Apr 1 08:07 web.config
Storageのシンボリックリンクを変更します。↓
root@qw2b32a12s7e:/var/www/public# ln -nfs /var/www/storage/app/public storage
↑のコマンドを入力するとStorageのパスが「storage -> /var/www/storage/app/public/」に変更され、画像が表示されました。
root@qw2b32a12s7e:/var/www/public# ll
total 32
drwxr-xr-x 13 root root 416 Apr 10 08:20 ./
drwxr-xr-x 27 root root 864 Apr 10 02:56 ../
-rw-r--r-- 1 root root 11 Apr 9 08:41 aaa.html
drwxr-xr-x 3 root root 96 Apr 1 08:07 css/
-rw-r--r-- 1 root root 6148 Apr 10 07:53 .DS_Store
-rw-r--r-- 1 root root 0 Apr 1 08:07 favicon.ico
-rw-r--r-- 1 root root 593 Apr 1 08:07 .htaccess
-rw-r--r-- 1 laradock www-data 1823 Apr 1 08:07 index.php
drwxr-xr-x 3 laradock laradock 96 Apr 1 08:07 js/
-rw-r--r-- 1 root root 70 Apr 1 08:07 mix-manifest.json
-rw-r--r-- 1 root root 24 Apr 1 08:07 robots.txt
lrwxrwxrwx 1 root root 27 Apr 10 08:20 storage -> /var/www/storage/app/public/
-rw-r--r-- 1 root root 914 Apr 1 08:07 web.config