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

Laravel图片上传成功存目录但数据库存储临时路径问题求助

问题原因

  • 变量名拼写错误:执行验证后得到的数组变量是$validateData,但在处理上传文件的分支里,你把处理后的路径赋值给了拼写多了一个字母d的$validatedData,导致最终传入模型创建方法的数组里,thumbnail字段还是原来的临时文件路径值。
  • move()方法返回的是File对象,直接赋值存入数据库会被转为服务器本地绝对路径,通常业务场景存相对路径更适配后续的前端资源调用。

修正后的控制器代码

public function store(Request $request)
{
    $validateData = $request->validate([
        'title' => 'required|max:255',
        'thumbnail' => 'image|file|max:8192',
        'slug' => 'required',
        'description' => 'required',
    ]);
    if ($request->file('thumbnail')) {
        $imageName = time().'.'.$request->file('thumbnail')->getClientOriginalExtension();
        // 修正变量名拼写,同时直接存相对路径即可
        $validateData['thumbnail'] = 'uploads/article/'.$imageName;
        // 执行移动文件操作
        $request->thumbnail->move(public_path('uploads/article/'), $imageName);
    }
         
    Article::create($validateData);
    return redirect('/admin-article')->with('success', 'Data has been successfully added');
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:15:05