首页 > 解决方案 > 为什么在 null 上给我回调用成员函数 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();
    }

为什么在 null 上给我回调用成员函数 getClientOriginalName() ?变量定义不明确?

标签: laravel

解决方案


您应该始终进行空检查,像这样修改您的功能

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();
    }
}

推荐阅读