2017-03-16 4 views
0

Ich habe bereits verschiedene Möglichkeiten zur Validierung der Dateien ausprobiert, aber es funktioniert immer noch nicht. Die Validierungsregel, die ich ausprobiert habe, sind die ff: mimes & MIME-Typen. Ich möchte die hochzuladenden Dateien entweder als einzelne Datei oder als mehrere Dateien validieren. Hier ist Code, den ich die Datei validieren möchteWie Mime-Typ-Validierung in Laravel funktioniert

$this->validate($request, [ 
     'body' => 'required|max:120', 
     'file' => 'mimes:jpeg,png,jpg,gif,svg|max:2048' 
    ]); 

    $user = Auth::user(); 

    $post = new Post(); 
    $post->body = $request['body']; 
    $post->user_id = $user->id; 
    $files = $request['file']; 
    $post->save(); 

    if ($request->hasFile('file')) : 
     foreach ($files as $file): 
      $filename = time() . '.' . $file->getClientOriginalExtension(); 
      $originalname = $file->getClientOriginalName(); 
      $location = public_path('attachments/'); 
      $file->move($location, $file->getClientOriginalName()); 
      $post_file = new File(); 
      $post_file->file_name = $filename; 
      $post_file->previous_file_name = $originalname; 
      $post_file->user_id = $user->id; 
      $post->files()->save($post_file); 
      $post_file->save(); 
     endforeach; 
    endif; 

Antwort

0

Ersetzen Sie diese Zeile durch Ihre.

'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048' 
+0

Immer noch den gleichen Fehler. Wenn die Dateigröße begrenzt ist, lautet der andere Fehler Methode [validate2048] existiert nicht. validation.file Die Datei muss eine Datei vom Typ sein: jpeg, png, jpg, gif, svg. – Mark

+0

@kenneth jetzt prüfen, ich habe die Zeile bearbeitet. und lassen Sie mich wissen, dann –

+0

immer noch nicht funktioniert. – Mark