Era*_*arp 14 laravel laravel-5.4
我正在尝试上传图像,但每次提交时都会返回 store() 为 null 错误。我已将表单设置为 enctype="multipart/form-data" 这并没有帮助。
任何人都可以指出我正确的方向吗?
谢谢。
控制器内部功能
public function store(Request $request){
$file = $request->file('imgUpload1')->store('images');
return back();
}
Run Code Online (Sandbox Code Playgroud)
表格如下:
<form action="/imgupload" method="POST" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group">
<label for="imgUpload1">File input</label>
<input type="file" id="imgUpload1">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
小智 24
我有同样的问题,我所做的修复是在打开表单标签中添加enctype="multipart/form-data"应该修复它。没有它,laravel 将无法理解该文件。
喜欢:
<form method="POST" enctype="multipart/form-data" name="formName">
Run Code Online (Sandbox Code Playgroud)
始终使用表单输入中缺少的 name 属性获取数据
改变
<input type="file" id="imgUpload1">
Run Code Online (Sandbox Code Playgroud)
到
<input type="file" id="imgUpload1" name = "imgUpload1">
Run Code Online (Sandbox Code Playgroud)
并像这样在控制器端做一些验证
$val = Validator:make($request->all, [
'imgUpload1' => 'required',
]);
if($val->fails()) {
return redirect()->back()->with(['message' => 'No file received']);
}
else {
$file = $request->file('imgUpload1')->store('images');
return redirect()->back();
}
Run Code Online (Sandbox Code Playgroud)