Laravel 9 Blade中{{$product->file_path2}}图片无法显示问题求助
问题排查与解决方案
确认文件实际存在性
检查storage/app/public/product/目录下是否有{{$product->file_path2}}对应的文件,注意Linux系统文件名区分大小写,要确保文件名完全匹配。替换为Laravel标准URL生成方式
不要使用相对路径拼接,改用Laravel内置的asset()方法生成正确访问链接,前提是已经执行过php artisan storage:link命令(将storage/app/public链接到public/storage):<div id="product-carousel" class="carousel slide" data-ride="carousel"> <div class="carousel-inner bg-light"> <div class="carousel-item active"> <img class="w-100 h-100" src="{{ asset('storage/product/' . $product->file_path) }}" alt="Image"> </div> <div class="carousel-item"> <img class="w-100 h-100" src="{{ asset('storage/product/' . $product->file_path2) }}" alt="Image2"> </div> </div> </div>验证URL有效性
打开浏览器开发者工具,查看图片的请求URL,直接复制到地址栏访问:- 若返回404,说明路径拼接错误或文件不存在;
- 若返回权限错误,需调整
storage目录及子目录的权限,确保web服务器有读写权限。
检查数据库路径格式
确认file_path2存储的是纯文件名(如test.jpg)还是带前缀路径(如product/test.jpg),若为后者,需修改asset()里的拼接逻辑,避免路径重复。
内容的提问来源于stack exchange,提问作者dave_brown
相关产品推荐
相关产品推荐

