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

Laravel从数据库读取图片无法正常加载问题求助

问题解决步骤

1. 修正控制器的图片路径存储逻辑

你的核心问题是没有把正确的存储路径存入数据库:store()方法已经返回了图片的存储路径(比如public/categories/xxx.jpg),但你却把上传文件对象$request->image存进了数据库,导致视图无法生成有效URL。修改控制器代码如下:

$imagePath = $request->file('image')->store('public/categories');
Category::create([
    'image' => $imagePath,
]);

2. 创建存储目录的符号链接

Laravel的public磁盘需要通过符号链接让浏览器访问到storage/app/public下的文件,执行以下Artisan命令:

php artisan storage:link

执行后,项目根目录的public/storage会链接到storage/app/public,这是Storage::url()生成可访问URL的前提。

3. 确认视图逻辑(无需修改)

如果数据库中存储的是完整的public/categories/xxx.jpg路径,Storage::url()会自动转换为/storage/categories/xxx.jpg,你当前的视图代码是正确的。

额外检查项

  • 确保storage/app/public/categories目录有写入权限,避免上传时出现权限错误。
  • 查看数据库categories表的image字段,确认存储的是字符串格式的路径,而非空值或对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:33:28