Unisharp Laravel File Manager问题:图片上传成功但无法显示
Unisharp Laravel File Manager图片上传后无法显示的解决办法
问题现象
- 图片上传成功后,在Unisharp管理器中可见,但预览时无法加载
- 直接访问图片URL(
*domain*/storage/photos/750/E-CWBQTVkAAIKTi.jpeg)无内容显示 - 访问
*domain*/storage时,URL自动跳转至*domain*/public/storage,并显示本地文件夹内容
解决步骤
1. 重新创建存储软链接
Laravel需要将storage/app/public软链接到public/storage来对外暴露存储文件,执行命令:
php artisan storage:link
若已存在旧链接,先删除再重建:
rm public/storage php artisan storage:link
2. 核对Unisharp配置
打开config/lfm.php,确认以下配置:
'disk' => 'public':必须使用public磁盘'directory' => 'photos':上传目录需与实际存储路径匹配'url_prefix' => 'storage':URL前缀要和软链接路径一致
3. 检查文件存储位置
确认图片已实际保存到storage/app/public/photos/750/目录,文件名与URL中的一致。若文件缺失,检查服务器目录权限或Unisharp上传逻辑。
4. 修复服务器重定向配置
URL跳转问题多由服务器重写规则导致:
- Nginx:确保配置包含正确的try_files规则,避免错误重定向
storage路径:
location / { try_files $uri $uri/ /index.php?$query_string; }
- Apache:检查
.htaccess文件,移除针对storage路径的额外重定向规则。
5. 清除Laravel缓存
执行命令刷新配置缓存:
php artisan config:clear php artisan cache:clear
内容的提问来源于stack exchange,提问作者Laggio Vanotto
相关产品推荐
相关产品推荐

