在laravel中上传文件失败



我有我想上传文件的形式,但我得到了null在fileUpload字段,当我提交到控制器这是我的表单

<form action="{{route('manager.expense.store')}}" method="POST" id="manager_add_new_expense" enctype="multipart/form-data">
enter code here
<div class="mb-3">
<label for="example-input-palaceholder">Add Supporting Document</label><small class="ml-auto align-self-end"><b>
<a href="#" class="font-weight-light">Doc Such as: Receipt, Mpawe, Orders, Etc ...</a></b></small>
<input type="file" class="form-control @error('Uploadfile') is-invalid @enderror" id="Uploadfile" name="Uploadfile" value="">

还有我的控制器内容下面

//
$user = User::findOrFail(Auth::id());
$validator = Validator::make($request->all(), [
'Uploadfile' => 'required|mimes:doc,docx,pdf,txt,png,jpg|max:500000'
]);
if ($validator->fails()){
// return back()->withErrors($validator)->withInput();
return response()->json(["error"=>true, "message"=>$validator->errors()->first()]);
}
$filename = $request->file('Uploadfile');
$filen = date('YmdHis')."-".$filename->getClientOriginalName();
$request->file('Uploadfile')->move(storage_path('expensefile'), $filen);

我不知道为什么我得到空值,只有我在验证上失败,就像我没有找到文件。

尝试添加@csrf,并确保您的路由是post路由

我发现错误是我正在使用AJAX提交表单,但没有代码来启用上传

我刚刚添加了这个,它可以工作了

data: new FormData(this),
contentType: false,
cache: false,
processData:false,

相关内容

  • 没有找到相关文章

最新更新