You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何将MySQL存储的图片设置为背景图

Laravel中设置数据库存储图片为背景图的解决方法

问题出在背景图的路径没有生成正确的绝对URL,你在<img>标签里用了url()函数能正常显示,但背景图代码里直接使用了存储的相对路径,浏览器无法正确解析。

正确代码

将背景图的路径替换为和<img>标签一样的url()辅助函数生成的路径:

<div class="banner-services-bg" style="background-image: url('{{ url($pageData->image) }}');">
</div>

或者使用asset()函数,效果完全一致:

<div class="banner-services-bg" style="background-image: url('{{ asset($pageData->image) }}');">
</div>

原因说明

你数据库中存储的image字段是相对路径(uploads/1/2023-03/car_with_driver.jpg),直接写在background-image的url()里时,浏览器会以当前页面的URL为基准拼接路径,导致找不到图片。而url()或asset()函数会生成基于项目根目录的绝对URL,和<img>标签的逻辑一致,能让浏览器准确定位到图片文件。

另外确认你的uploads目录确实在项目的public文件夹下,这两个辅助函数默认都是指向public目录的,和你当前的存储结构匹配。

内容的提问来源于stack exchange,提问作者Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:32:13