获取图像作为对象

时间:2018-03-29 10:59:36

标签: laravel laravel-5.5

  

从单个上传表单上传图片工作正常。我使用的代码:

查看:

<input type="file" name="image" class="form-control">

控制器

$input['image'] = time().'.'.$request->image->getClientOriginalExtension();
$request->image->move(public_path('images'), $input['image']);
Gallery::create($input);


return back()->with('success','Image Uploaded successfully.');
  

但我需要更改以前的视图,因此图像将属于具有特定键的数组:

查看:

<input type="file" name="quiz[777][image]" class="form-control">

控制器[问题]

$input['image'] = time().'.'.Input::get('quiz')[777]['image'])->getClientOriginalExtension();
Input::get('quiz')[777]['image'])->move(public_path('images'), $input['image']);
Gallery::create($input);


return back()->with('success','Image Uploaded successfully.');

在控制器中我现在遇到错误,该图像不是对象,所以我不能使用 getClientOriginalExtension()移动方法。

我也试过$request->Input::get('quiz')[777]['image'])但没有成功。

2 个答案:

答案 0 :(得分:3)

使用Input::file()获取上传的文件

$input['image'] = time().'.'.Input::file('quiz')[777]['image'])->getClientOriginalExtension();
Input::file('quiz')[777]['image'])->move(public_path('images'), $input['image']);

答案 1 :(得分:1)

而不是使用Input::get() use Input::file();

所以改变这个

Input::get('quiz')[777]['image'])->getClientOriginalExtension();
Input::get('quiz')[777]['image'])->move(public_path('images'), $input['image']);

到这个

request()->file('quiz')[777]['image'])->getClientOriginalExtension();
request()->file('quiz')[777]['image'])->move(public_path('images'), $input['image']);