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

Laravel9报Target class [Uploadcontroller]不存在如何解决

Laravel 9 报错 Target class [Uploadcontroller] does not exist 解决方案

这个报错是类自动加载阶段找不到对应控制器类导致的,按以下步骤逐一排查即可解决:

1. 修复类名与文件名的大小写匹配问题

Laravel 遵循 PSR-4 自动加载规范,控制器的文件名必须和文件内定义的类名完全一致(大小写严格匹配)。
你当前代码里的类名是Uploadcontroller,不符合Laravel默认的大驼峰命名规范,大概率是文件名和类名大小写不匹配:

  • 把控制器文件名重命名为UploadController.php(注意Controller的首字母C大写),存储路径为app/Http/Controllers/UploadController.php
  • 把控制器文件内的类名同步修改为UploadController,修正后的代码:
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UploadController extends Controller
{
    public function upload(Request $request){
        dd($request->file('image'));
    }
}
  • 同步修改路由文件routes/web.php里的类引用:
use App\Http\Controllers\UploadController;
Route::post('/upload', [UploadController::class, 'upload']);

2. 清除旧路由缓存

如果本地之前执行过路由缓存命令,旧缓存会导致修改后的代码不生效,执行以下命令清除路由缓存:

php artisan route:clear

开发环境不需要生成路由缓存,等到项目上线部署时再执行php artisan route:cache生成优化缓存即可。

3. 更新Composer自动加载映射

如果以上两步操作完还是报错,执行以下命令重新生成Composer的类自动加载映射:

composer dump-autoload

注意:Laravel 9 已经默认在路由文件中支持完整类名引用,不需要额外在RouteServiceProvider中配置控制器命名空间属性,只要类名、文件名、引用路径三者完全匹配,就可以正常加载控制器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:30:50