Laravel 对null i checked name调用成员函数store()
尝试上载文件时出现此错误:Laravel 对null i checked name调用成员函数store(),laravel,image,file,store,Laravel,Image,File,Store,尝试上载文件时出现此错误:调用null上的成员函数store() 我读了很多次文档,我检查了一下,但是我不明白,你能帮我吗 这是我的引导程序: <label for="Ticketimg" class="col-md-4 col-form-label text-md-center">{{ __('Ticketimg') }}</label> <div class="col-md-6"> <input id="Ticketimg" type="
调用null上的成员函数store()
我读了很多次文档,我检查了一下,但是我不明白,你能帮我吗
这是我的引导程序:
<label for="Ticketimg" class="col-md-4 col-form-label text-md-center">{{ __('Ticketimg') }}</label>
<div class="col-md-6">
<input id="Ticketimg" type="file" class="custom-file-label @error('Ticketimg') is-invalid @enderror" name="Ticketimg" enctype="multipart/form-data" required autocomplete="Ticketimg" autofocus> @error('Ticketimg')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span> @enderror
我认为这很愚蠢,但我找不到
注意:我的URL$imageCarbu和$imageManger存储在我的数据库中,html看起来也不错
Thnaks for help:)发生这种情况的主要原因(很难说,因为您没有添加表单标记)是因为,正如其他人所说,您可能没有enctype=“multipart/form data”
作为表单
标记的一部分
为什么这很重要?编码类型(enctype)告诉表单接收者(服务器端),传入数据(仅为base64编码文本)与表单数据(其他提交的输入)和文件数据(文件内容)之间的MIME类型具有分离边界。没有它,所有数据都混合在一起
在您的例子中,它是作为常规数据提交的,因此Laravel将表单字段Ticketimg视为一个常规的无意义字符字符串。这意味着,虽然Laravel说它不是null(它可以看到字符串),但它不会在请求中将其视为文件对象。从那里,它试图调用字符串上的存储,而不是文件
希望这能解释清楚。如果执行dd($request->all()),文件是否会出现代码>?尝试如果($request->hasFile('Ticketimg'))
也可以。是的,如果我执行dd($request->all()),它就会出现;if return me false我想$request->file('Ticketimg')
这是null如果$request返回url,它就不能为null
public function DeclareFrais($idMission, Request $request)
{
// $image = $request->input('Ticketimg');
$imageCarbu = $request->input('ticketcarbu');
$imageManger = $request->input('ticketmanger');
$prixhotel = $request->input('PrixHotel');
$prixcarbu = $request->input('PrixCarbu');
$prixManger = $request->input('PrixManger');
date_default_timezone_set('Europe/Paris');
$pdate = date('Y-m-d H:i');
$path = $request->file('Ticketimg')->store('public');
// Storage::disk('local')->put('nique', $fichierFinal);
// $test->save();
DB::insert('exec Dfrais ?, ?, ?, ?, ?, ?, ?, ?', array($idMission, $prixhotel, $prixcarbu, $prixManger, $pdate, $path, $imageCarbu, $imageManger));
return redirect()->action('HomeController@show')->with('succes', 'Frais déclarés');
}