2016-07-24 13 views
1

Ich habe Probleme mit meinem Formular mit Laravel 5. Wenn ich das Enctype-Attribut zu 'Multipart/Form-Daten' angeben, erhalte ich einen Token Mismatch-Fehler. Wenn es entfernt wird, schlägt das Formular immer die Überprüfung fehl, die in meinem Controller angegeben wird.Laravel 5: Upload mehrere Dateien und andere Eingabe

HTML

<form class="lajax" action="{{ action('[email protected]') }}" method="POST"> 
        <div class="form-group"> 
         <label>Album Name</label> 
         <input type="text" name="name" class="form-control">             
        </div> 

        <div class="form-group"> 
         <label for="coverFile">Album Cover Image</label> 
         <input name="cover" type="file" id="coverFile"> 
         <p class="help-block">Example block-level help text here.</p> 
        </div> 

        <div class="form-group"> 
         <label for="albumFiles">Album Images</label> 
         <input type="file" name="photos[]" multiple> 
        </div> 

        <button type="submit" class="btn btn-primary">Create Album</button> 

        {{ csrf_field() }} 
       </form> 

-Controller

public function store(Request $request) 
    { 

     //request input verification rules 
     $rules=[ 
      'name'=>'required', 
      'cover'=>'required|image', 
      'photos'=>'required|array', 
      'photos.*'=>'image' 
     ]; 

     //perform validation 
     $this->validate($request,$rules); 

     // blah blah 
    } 

Insbesondere scheinen die Bilder scheitern.

Fehler gemeldet: Abdeckung ist kein Bild, Foto.0 ist kein Bild, Foto.1 ist nicht und Bild ..... und so weiter.

Bitte helfen

Antwort

0

Ich habe den Fehler gefunden! Es war in meiner php.ini Datei. Ich ändere post_max_size von 3M auf 1000M. es funktionierte.

0

Wechsel:

<form class="lajax" action="{{ action('[email protected]') }}" method="POST"> 

An:

<form method="POST" action="{{ action('[email protected]') }}" accept-charset="UTF-8" enctype="multipart/form-data"> 

In Ihrem Controller können Sie Ihre Eingabe wie folgt überprüfen:

$request->hasFile('file_input_name'); 

Überprüfen Sie auch Laravel Collectiv e zum Erstellen von Formularen: https://laravelcollective.com/