2017-08-08 1 views
0

ich eine Datei bin das Hochladen und will es zu überprüfen, der die folgenden:Laravel Mimetypes Validation Immer unwahr

public function rules() 
    { 
     return ['file' => 'required|mimetypes: 
            application/vnd.ms-excel, 
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, 
            application/pdf, 
            text/plain, 
            text/csv, 
            csv, 
            txt, 
            text/tsv, 
            image/jpeg, 
            image/png, 
            image/svg+xml, 
            image/tiff, 
            video/x-msvideo, 
            video/mpeg 
            |max:12345678']; 
} 

Aber es immer return „The file must be a file of type: application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/pdf, text/plain, text/csv, csv, txt, text/tsv, image/jpeg, image/png, image/svg+xml, image/tiff, video/x-msvideo, video/mpeg.

Der MIME-Typ scheint richtig zu erraten. Zum Beispiel habe ich versucht, foobar.csv

$request->file->getMimeType() // text/plain 

laden aber noch, es gibt noch The file must be a file of type [...].

Was fehlt mir hier?

Antwort

0

Probieren Sie den folgenden Code aus, fügen Sie "application/octet-stream" gemäß RFC 2616 7.2.1 hinzu.

public function rules() 
    { 
     return ['file' => 'required|mimetypes: 
            application/vnd.ms-excel, 
            application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, 
            application/pdf, 
            text/plain, 
            text/csv, 
            application/octet-stream, 
            csv, 
            txt, 
            text/tsv, 
            image/jpeg, 
            image/png, 
            image/svg+xml, 
            image/tiff, 
            video/x-msvideo, 
            video/mpeg 
            |max:12345678']; 
} 
+0

ich versuchte, indem es aber Ergebnis ist die gleiche – Wistar

0

Das Problem war, dass mimetypes als Zeichenfolge angegeben sind. In der Zeichenfolge habe ich neue Zeilen für die Code-Klarheit hinzugefügt, die als solche interpretiert wurden. Als ich sie entfernt alles in einer Linie zu haben, es hat funktioniert:

return ['file' => 'required|mimetypes:application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/pdf,application/octet-stream,text/plain,text/csv,csv,txt,text/tsv,image/jpeg,image/png,image/svg+xml,image/tiff,video/x-msvideo,video/mpeg|max:12345678'];

Verwandte Themen