问答 / 218 / 18 / 创建于 1年前
本地phpstudy
9.x
PHP 版本:8.0
使用laravel—admin可以上传图片,但是无法查看图片,以下是配置filesystems.php配置文件的内容如下同时使用php artisan storage:link 配置了link
admin.php配置内容如下网页url信息如下文件成功存储到了以下路径
文件在数据库中的存储路径为
解决了吗? 没解决的话,用
$url = Storage::url('file.jpg');
看看具体的URL和你访问是否一致
storage:link
图片名字转码了,你把名字改成英文试下
因为项目指定 public 目录为 web 站点入口,所以你的图片实际访问的物理地址是:
/项目根目录/public/storage/app/public/images/xxx.png
由于 laravel 的文件系统将文件存储在 /项目根目录/storage/app/public 目录下,所以你需要创建符号链接
/项目根目录/storage/app/public
你可以使用 Artisan 命令 storage:link 来创建符号链接:
php artisan storage:link
文档位置:继续深入 > 文件存储 > 配置 > 公共磁盘
文档链接:文件存储《Laravel 9 中文文档》
filesystems.php => admin 配置里的 url 应是 /storage 而不是 /storage/app/public。软链是 storage -> /storage/app/public网站的根目录在 public,访问 /storage 根据软链指向即访问的真实路径为 /storage/app/public,而后者配置导致的路径为 /storage/app/public/app/public 当然找不到了
'admin' => [ 'url' => env('APP_URL').'/storage' ]
评论区的方法都用了,不行
我重新按照流程来了一次,这次是按照论坛的教程步骤来的,依然不行,以下是配置和相关图片
admin.php文件
filesystems.php文件
使用了命令php artisan storage:link,filesystems.php文件中的link配置
在laraveladmin后台页面访问时的图片路径
数据库内容
文件夹内容
http://xxx.test/storage/images/here.png
.env
APP_URL=http://xxx.test
url和存储位置没问题,应该能访问到,在根目录放一个测试图片能访问到吗?如果能就是软链问题,把软链删除重新执行创建软链命令试试,
如果有需要我可以直接提供代码压缩包
排查问题,一般首要是确认入口开始,结合日志分析,定位错误,然后根据错误去分析业务代码。
无法读取图片,404吗?先去看下nginx/php日志,看下真实的访问路径,然后再去排查代码。
感谢大家的帮忙,原来问题就是.env里面APP_URL没有改,以前从来不注意这些细节问题,这次受教训了
我要举报该,理由是:
解决了吗? 没解决的话,用
看看具体的URL和你访问是否一致
storage:link
图片名字转码了,你把名字改成英文试下
问题说明
因为项目指定 public 目录为 web 站点入口,所以你的图片实际访问的物理地址是:
/项目根目录/public/storage/app/public/images/xxx.png由于 laravel 的文件系统将文件存储在
/项目根目录/storage/app/public目录下,所以你需要创建符号链接解决办法
你可以使用 Artisan 命令
storage:link来创建符号链接:文档位置:继续深入 > 文件存储 > 配置 > 公共磁盘
文档链接:文件存储《Laravel 9 中文文档》
filesystems.php => admin 配置里的 url 应是 /storage 而不是 /storage/app/public。
软链是 storage -> /storage/app/public
网站的根目录在 public,访问 /storage 根据软链指向即访问的真实路径为 /storage/app/public,而后者配置导致的路径为 /storage/app/public/app/public 当然找不到了
评论区的方法都用了,不行
我重新按照流程来了一次,这次是按照论坛的教程步骤来的,依然不行,以下是配置和相关图片
admin.php文件
如果有需要我可以直接提供代码压缩包
排查问题,一般首要是确认入口开始,结合日志分析,定位错误,然后根据错误去分析业务代码。
无法读取图片,404吗?先去看下nginx/php日志,看下真实的访问路径,然后再去排查代码。
感谢大家的帮忙,原来问题就是.env里面APP_URL没有改,以前从来不注意这些细节问题,这次受教训了