Laravel上传多个图像不起作用,哑剧也不起作用


Laravel uploading multiple images doesn't work, also mimes don't

我正在尝试在Laravel中使用此代码上传图像:

public function postAddPictures(Request $request)
    {
      // getting all of the post data
      $files = $request->file('cover_image');
      // Making counting of uploaded images
      $file_count = count($files);
      // start count how many uploaded
      $uploadcount = 0;
      foreach($files as $file) {
        $messages = [
            'cover_image.required' => 'U moet een afbeelding opgeven.',
            'cover_image.image' => 'De bestanden moeten een afbeelding zijn (jpeg, png, bmp, gif, or svg).',
            'description.required' => 'U moet een beschrijving opgeven.'
            ];
        $rules = [
            'cover_image' => 'required',//|mimes:png,gif,jpeg,jpg,bpm,svg
            'album_id' => 'required|numeric|exists:albums,id',
            'description' => 'required'
        ];
        $validate = ['file'=> $file, 'description' => $request->get('description'), 'album_id'=> $request->get('album_id')];
        $validator = Validator::make($validate, $rules, $messages);
        if ($validator->fails()) {
            return Redirect::to('admin/pictures/add')->withInput()->withErrors($validator);
        }

        $random_name = str_random(8);
        $destinationPath = 'public/uploads/pictures/rallypodium/website/'.Album::find($request->get('album_id'))->type.'/'.Album::find($request->get('album_id'))->name.'/';
        $extension = $file->getClientOriginalExtension();
        $filename = $random_name.'_album_image.'.$extension;
        $uploadSuccess = $file->move($destinationPath, $filename);
        Images::create([
          'description' => $request->get('description'),
          'image' => $filename,
          'album_id'=> $request->get('album_id')
        ]);
        $uploadcount ++;
      }
      if($uploadcount == $file_count){
        Activity::log('heeft foto's in de map map "'.ucwords(str_replace('-', ' ', Album::find($request->get('album_id'))->name)).'" toegevoegd.');
        $request->session()->flash('alert-success', 'Foto's succesvol toegevoegd.');
        return Redirect::to('admin/pictures/add');
      }
    }

这里的问题是,它一直返回错误消息'U moet een afelding opgeven.'。它不将数据存储在数据库中,也不上传文件。

这是我在HTML中的字段:
  • cover_image
  • album_id
有人能帮我一下吗?我已经尝试了不同的方法,但就是找不到解决办法。

最贴心的问候,罗宾

如果你想逐一验证所有文件,你应该使用'cover_image'键来代替'file'键。

$validate = ['cover_image'=> $file, 'description' => $request->get('description'), 'album_id'=> $request->get('album_id')];