尝试上传图片库时出现 getClientOriginalName() 错误

getClientOriginalName() error while trying to upload image gallery

我目前正在学习 laravel,但一直无法将图片库和 header 图片上传到特定文件夹。这是我的控制器代码:(我在 "edit" 页面上传图片)

public function update(Request $request, $id)
{

    $findObject = Accommodation::find($id);
    $findObject->update($request->all());

    Gallery::destroy('objects_id', $id);
    foreach ($request['img'] as $img) {
        $gallery = new Gallery();
        $gallery->objects_id=$id;
        $gallery->img=$img;
        $gallery->save();


        $file[0] = $request->file;

        $name = time() . $file[0]->getClientOriginalName(); // prepend the time (integer) to the original file name

        $file[0]->move('uploads', $name); // move it to the 'uploads' directory (public/uploads)

        // // create instance of Intervention Image
        $img = Image::make('uploads/'.$name)->resize(300,200);
        $img->save(public_path().'/uploads/'.$name);

    }

这是我上传画廊和header图片的观点:

<div class="form-group">
<label for="exampleInputFile">Index image:</label>
<input type="file" name="headerImage" value="{{$object->headerImage}}">
<img src="{{asset('FrontAssets/img/smjestaj/')}}/{{$object->headerImage}}" style="width: 100px;">

<p class="help-block">Image that will be displayed on index page.</p>

<div class="form-group">
<label for="exampleInputFile">Image gallery</label>
<input type="file" name="img[]" multiple>

<p class="help-block">Choose x images for that will be displayed on gallery page.</p>

它向我显示此错误:

Call to a member function getClientOriginalName() on null

注意:我的表格中有 "enctype="multipart/form-data"。

This is what I get when i do dd();

我希望我正确描述了我的问题,如果我需要添加任何其他内容,请告诉我。提前致谢!

根据你的html

<input type="file" name="headerImage" value="{{$object->headerImage}}">

<input type="file" name="img[]" multiple>

尝试改变

来自

foreach ($request['img'] as $img) {
            $gallery = new Gallery();
            $gallery->objects_id=$id;
            $gallery->img=$img;
            $gallery->save();


            $file[0] = $request->file;

            $name = time() . $file[0]->getClientOriginalName(); // prepend the time (integer) to the original file name

            $file[0]->move('uploads', $name); // move it to the 'uploads' directory (public/uploads)

            // // create instance of Intervention Image
            $img = Image::make('uploads/'.$name)->resize(300,200);
            $img->save(public_path().'/uploads/'.$name);

        }

if($request->file('img'))
 {
    foreach ($request->file('img') as $key => $file) {
       $gallery = new Gallery();
       $gallery->objects_id=$id;
       $gallery->img=$file;
       $gallery->save();

       $name = time() . $file->getClientOriginalName();
       $destination = base_path() . '/public/uploads';
       $file->move($destination, $name);
     }
 }
if($request->file('headerImage'))
{
    $name = time() . $request->file('headerImage')->getClientOriginalName();
    $destination = base_path() . '/public/uploads';
    $request->file('headerImage')->move($destination, $name);
}