Laravel 7本地项目图片无法显示问题求助
解决Laravel 7本地项目图片无法显示的问题
核心原因
Laravel 的 storage 目录默认不允许直接通过 Web 访问,项目中 /storage/xxx 这类路径实际指向的是 storage/app/public/xxx,需要通过软链接让 public/storage 指向 storage/app/public,才能让浏览器正常访问图片。
解决步骤
1. 检查软链接是否存在
查看项目根目录下的 public 文件夹,确认是否有名为 storage 的软链接(Linux/macOS 下是带箭头的文件夹,Windows 下是快捷方式)。如果没有,执行以下操作:
2. 创建软链接
在项目根目录的终端/命令行中执行 Artisan 命令:
php artisan storage:link
- 如果是 Windows 系统,可能需要以管理员权限打开命令提示符再执行该命令;也可以手动创建软链接:
mklink /D public\storage storage\app\public
3. 确认文件实际位置
检查 storage/app/public/photos/1/Category/mini-banner1.jpg 是否存在。如果文件不在这个路径下,需要确认项目的文件存储配置:
打开 config/filesystems.php,查看 disks 中的 public 配置是否正确:
'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],
如果项目的图片存储路径是自定义的(比如直接存在 storage/photos),需要调整软链接指向对应的目录,或者修改存储配置。
4. 检查文件权限
如果是 Linux/macOS 系统,确保 storage 目录及子文件有可读权限:
chmod -R 755 storage/ # 若需要设置用户组,可执行(根据服务器用户调整) chown -R www-data:www-data storage/
内容的提问来源于stack exchange,提问作者user20885204
相关产品推荐
相关产品推荐

