【问题标题】:Laravel : Upload multiple image but First image only uploadedLaravel:上传多张图片但仅上传第一张图片
【发布时间】:2016-09-22 12:38:40
【问题描述】:

我正在使用 Laravel 4.2,我有这个表单来上传多张图片

提交表单时出现的问题,它返回查看页面并且只上传了第一张图片。

谁能检查我的代码并纠正我的错误

{{ Form::open(array('url'=>'doAddProjectImage', 'files'=>'true', 'method'=>'PUT', 'class'=>'margin-top-30 width-100per pull-left')) }}
  {{ Form::file('img[]', array('class'=>'file', 'multiple'=>true)) }}
  {{ Form::submit('Add images to project', array('class'=>'btn-success btn pull-left')) }}
  {{ Form::hidden('pid', Session::get('insId')) }}
  {{ Form::close() }}

这是我的控制器

public function doAddProjectImage()
    {
        $proId = Input::get('pid');

        $projectImages = new ProjectsImages();
        $files = Input::file('img');
        foreach($files as $file) {
            $destination_path = 'images/projects/';
            $filename = str_random(6) . '_' . $file->getClientOriginalName();
            $file->move($destination_path, $filename);

            $projectImages->image = $filename;
            $projectImages->image_id = $proId;
            $projectImages->save();
        }

        return Redirect::to('admin/view-project');
    }

【问题讨论】:

    标签: php laravel file-upload


    【解决方案1】:

    经过一番研究,我发现'multiple'=>true是错误的,应该是multiple

    所以输入字段将是

    {{ Form::file('img[]', array('class'=>'file', 'multiple')) }}
    

    【讨论】:

      【解决方案2】:

      用我的代码试试

      控制器

       public function img_upload($filename)
          {
              $photo = array('photo' => $filename);
              $destinationPath = 'uploads/multiple'; // upload path
              $original_filename = time().$filename->getClientOriginalName(); // getting image extension
              $extension = $filename->getClientOriginalExtension(); // getting image extension
              //$fileName = rand(11111,99999).'.'.$extension; // renameing image
              $filename->move($destinationPath, $original_filename); 
          }
      
          public function savemultiimage(Request $request)
          {   
              $files = $request->file('m_name');
              $file_count = count($request->file('m_name'));      
              foreach ($files as $file) {          
                      $this->img_upload($file);
                      $multi['m_name']=time().$file->getClientOriginalName(); 
                      DB::table('multiimage')->insert($multi);
              }
              return redirect('/multifiles/gallery')->with('succ', 'Multiple image successfully inserted!');
          }
      

      查看

      {!! Form::open(array('url' => 'multifiles/savemultiimage','id'=>'multi_image','files'=>true)) !!}
      
          <div class="box-body">
              <div class="form-group">
                <label for="exampleInputFile">Multi Images</label>
                <input type="file" id="m_name" name="m_name[]" multiple>          
              </div> 
          </div><!-- /.box-body -->
      
          <div class="box-footer">
            <button type="submit" class="btn btn-primary">Submit</button>
          </div>
      
        {!! Form::close() !!}
      

      【讨论】:

      • 我认为这个 Laravel 5 是的,我使用的是 Laravel 4.2
      猜你喜欢
      • 2020-03-23
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 2018-04-28
      • 2016-11-22
      • 2021-12-01
      相关资源
      最近更新 更多