Laravel 为什么要在null上回调用成员函数getClientOriginalName()?
为什么要在null上回调用成员函数getClientOriginalName()?Laravel 为什么要在null上回调用成员函数getClientOriginalName()?,laravel,Laravel,为什么要在null上回调用成员函数getClientOriginalName()? 变量定义得不好吗?您应该始终进行空值检查,像这样修改您的函数 public function importProd(Request $request) { $uploadedFile = $request->file('file'); $filename = var_dump(time().$uploadedFile->getClientOriginalName())
变量定义得不好吗?您应该始终进行空值检查,像这样修改您的函数
public function importProd(Request $request) {
$uploadedFile = $request->file('file');
$filename = var_dump(time().$uploadedFile->getClientOriginalName());
Storage::disk('local')->putFileAs(
'/',
$uploadedFile,
$filename
);
Excel::import(new ProductImport, storage_path('app/'.$filename));
Storage::delete($filename);
return back();
}
您应该首先验证
$request->file('file')
是否确实存在$request->file('file')
设置?我还想从您的$filename
中删除var\u dump()
,提供刀片文件。我删除了它,但最后一个问题是文件的内容,您必须使用enctype=“multipart/form data”
表单操作并选中dd($request->all())
public function importProd(Request $request) {
if($request->hasFile('file')){
$uploadedFile = $request->file('file');
$filename = var_dump(time().$uploadedFile->getClientOriginalName());
Storage::disk('local')->putFileAs(
'/',
$uploadedFile,
$filename
);
Excel::import(new ProductImport, storage_path('app/'.$filename));
Storage::delete($filename);
return back();
}
}