在laravel中上传文件时出错

时间:2017-12-05 05:56:33

标签: php laravel laravel-5.2 intervention

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

  

在null

上调用成员函数getClientOriginalExtension()

这是我的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);

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:3)

我无法理解您的代码。如果您正在寻找上传图片并使用干预套餐调整大小,请尝试: -

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

或没有干预pacakge: -

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

希望它有所帮助!

答案 1 :(得分:1)

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

答案 2 :(得分:1)

你只需要使用它:

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

而不是:

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

希望这会解决你的问题!