Laravel 9 Dropzone文件上传成功但数据库插入失败:模型找不到错误
Laravel 9中Dropzone多文件上传:文件上传成功但无法写入数据库,报错“找不到app\models\MultiImageModel类”
在Laravel 9中使用Dropzone实现多文件上传时,文件可成功上传至服务器目录,但无法插入数据库,报错提示“找不到app\models\MultiImageModel类”。以下是相关代码及问题详情:
Blade视图代码
<form action="{{ route('admin_multiupload_store') }}" method="POST" enctype="multipart/form-data" class="dropzone" id="image-upload"> @csrf <input type="hidden" name="type" value="{{ $type }}"> <input type="hidden" name="id" value="{{ $id }}"> </form>
JavaScript代码
<script type="text/javascript"> new Dropzone("#image-upload", { maxFilesize:12, acceptedFiles:".jpeg,.jpg,.png,.gif,.svg", addRemoveLink:true, timeout: 5000, success: function(file, response){ Swal.fire({ icon: 'success', title: '操作成功...', text: '{!! session()->get('success') !!}' }); }, error: function(file, response){ return false; } }) </script>
控制器代码
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use app\Models\MultiImageModel; // 错误点:命名空间应为大写App class MultiImageController extends Controller { public function index($type, $id) { return view('admin.multiupload', compact('type','id')); } public function store(Request $request) { $image = $request->file('file'); $imageName = time().rand(1,1000).'.'.$image->extension(); $image->move(public_path('uploads/'),$imageName); $image_data = new MultiImageModel(); var_dump($image_data); $image_data->upload_type = $request->type; $image_data->upload_id = $request->id; $image_data->upload_filephp = $imageName; $image_data->save(); return response()->json(['success'=> $imageName]); } }
模型代码
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class MultiImageModel extends Model { protected $table = 'multi_image_models'; use HasFactory; }
错误信息
报错提示:找不到app\models\MultiImageModel类
解决方法
- 修正命名空间引用:将控制器中的
use app\Models\MultiImageModel;改为use App\Models\MultiImageModel;。Laravel的命名空间采用大写开头的App,小写的app会导致PHP无法定位到正确的模型类文件。 - 更新自动加载器(可选):执行命令
composer dump-autoload,确保Composer的自动加载缓存被更新,避免类加载的缓存问题。
内容的提问来源于stack exchange,提问作者Kıvanç Karataş
相关产品推荐
相关产品推荐

