Laravel admin 用户头像显示不出的原因及解决方法

已经使用命令 php artisan storage:link 创建过软链接了,头像仍然不显示。

发现链接显示的是 http://localhost/storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg 导致了 404 错误。

如果头像链接是 http://自己的域名/storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg 那就对了

方法一

.env 文件里的 APP_URL=http://localhost
修改为 APP_URL=http://自己的域名 刷新浏览器,发现头像成功显示。
但这是个治标不治本的坏办法,放弃。

方法二

config/admin.php 里的 'disk' => 'public'

修改为 'disk' => 'admin'

config/filesystems.php disk数组中里面添加一个 admin 磁盘,刷新浏览器头像也能显示!

  'admin'=>[
            'driver'=>'local',
            'root'=>storage_path('app/public'),
        ]

此法的妙处在于头像链接使用的是相对路径 /storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg

之前什么 http://localhost/storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg

或者什么 http://自己的域名/storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg

都是绝对路径,链接写死了。

对于虚拟主机来说,写死的链接未必会显示(要看虚拟主机的主机名)

但是相对路径 /storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg 只要文件存在一定会显示

原文地址:https://www.cnblogs.com/niuben/p/13712102.html