在 laravel 中上传文件时出错

get error while file upload in laravel

我正在尝试上传 laravel 中的图片。但是当我上传时它会出错。

Call to a member function getClientOriginalExtension() on null

这是我的 Blade 文件表格

{{Form::open(array('url' => '/AddNewBlog','id'=>'blogadd' ,
   'method' => 'post','class'=>'form-row','files'=>true,
   "enctype"=>"multipart/form-data"))}}

这是控制器

 $imagename_bg = time() . '.' . $photo->getClientOriginalExtension();
 $destinationPath = public_path('/uploads/blog');
 $thumb_img = Image::make($photo->getRealPath())->resize(750, 450);
 $thumb_img->save($destinationPath . '/' . $imagename_bg, 80);
 $photo->move($destinationPath, $imagename_bg);

请帮我解决这个问题。

$photo = $request->file('file_name');

我无法理解你的代码。如果您正在寻找上传图像并使用干预包调整大小试试这个:-

if($request->hasFile('blogimage')){
if (Input::file('blogimage')->isValid()) {
    $file = Input::file('image');
    $img = Image::make($file);
    $img->resize(400,270);
    $name = pathinfo($_FILES['image']['name']);
    $destination = public_path('/uploads/blog');
    $ext = $name['extension'];
    $rand= time().str_random(6).date('h-i-s').'.'.$ext;
    $img->save($destination.$rand);
}
}

或没有干预包:-

if($request->hasFile('blogimage')){
if (Input::file('blogimage')->isValid()) {
    $file = Input::file('blogimage');
    $destination = public_path('/uploads/blog');
    $ext= Input::file('blogimage')->getClientOriginalExtension();
    $mainFilename =time().str_random(5).date('h-i-s');
    $file->move($destination, $mainFilename.".".$ext);
}
}

希望对您有所帮助!

你只需要使用这个:

$photo = $request->file("blogimage");

而不是:

$photo = $request->input("blogimage")

希望这能解决您的问题!