Laravel 5 Mime de validation

Ok, je suis en train de télécharger une vidéo, et de valider le type de fichier.

Selon la documentation:

mimes:foo,bar,...

Le fichier en cours de validation doit avoir un type MIME correspondant à la liste des extensions.

L'Utilisation de base De MIME Règle

'photo' => 'mimes:jpeg,bmp,png'

J'upload une vidéo wmv, et mes règles sont donc:

return [
    'file' => ['required', 'mimes:video/x-ms-wmv']
]

J'ai fait un print_r() sur Request::file('file') et je reçois les données suivantes:

Symfony\Component\HttpFoundation\File\UploadedFile Object
(
    [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
    [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => SampleVideo.wmv
    [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => video/x-ms-wmv
    [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 70982901
    [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
    [pathName:SplFileInfo:private] => C:\wamp\tmp\php6428.tmp
    [fileName:SplFileInfo:private] => php6428.tmp
)

Cependant j'obtiens le message d'erreur:

{"file":["The file must be a file of type: video\/x-ms-wmv."]}

J'ai essayé de changer le "type mime" pour video/*, wmv (selon les docs) et aussi video/x-ms-wmv pourtant, aucun d'entre eux valider correctement le fichier.

Comme vous pouvez le voir à partir de la print_r() le type mime de Symfony est arriver est video/x-ms-wmv.

Je fais quelque chose de mal? Ou peut Laravel/Symfony juste de ne pas valider les fichiers bien?

J'apprécie l'aide

Modifier
Ok, j'ai ouvert validator.php et a ajouté echo $value->guessExtension(); à la ValidateMimes() méthode, et il produit de l'asf.

Pourquoi Symfony sortie video\x-ms-wmv, l'extension du fichier est wmv, je suis validant les deux d'entre eux, mais Laravel est de deviner asf?!

C'est trop peu fiable pour la vidéo de validation pour moi.

  • J'ai aussi eu ce problème et le problème était avec la version de PHP, j'ai été à l'aide, essayez de créer une vanille fichier php et de vérifier le type mime d'une vidéo avec le Fileinfo la fonction php.net/manual/en/book.fileinfo.php
InformationsquelleAutor Phil Cross | 2015-04-24