2016-09-22 5 views
1

ich verwende Laravel 4.2 und ich habe dieses Formular mehrere BilderLaravel: Upload mehrere Bild aber Erstes Bild hochgeladen nur

das Problem zu laden, wenn ich senden Sie das Formular an die Ansichtsseite zurückkehrt und das erste Bild nur hochgeladen .

kann jemand bitte meinen Code überprüfen und korrigieren mein Fehler

{{ 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() }} 

und dies ist mein Controller

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

Antwort

3

Nach einigen Recherchen habe ich festgestellt, dass 'multiple'=>true der Fehler war, sollte es sein multiple

so das Eingabefeld

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

Versuchen mit meinem Code

-Controller

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

Ansicht

{!! 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() !!} 
+0

Ich denke, das Laravel 5 ja I mit Laravel 4.2 –

+0

ja ich benutze Laravel 5 –