Search code examples
laravellaravel-validation

Laravel .mov validation


In a project I want to upload video. in my request I use 'path' => 'mimes:mp4,mov,avi,mpg,mpeg;quicktime|nullable',

When uploading a .mov video I always get the error "The video path must be a file of type: mp4, mov, avi, mpg, mpeg, quicktime.". The meme type of the video is video/quicktime.

Uploading .mp4 files works perfect, didn't test with other video types yet. Does anyone have a solution?


Solution

  • You can manually check for mime-type if the validation is not working for you:

    $video = Input::file('path');
    $mime = $video->getMimeType();
    
    $accepted_mimes = array("video/x-flv", "video/mp4", "application/x-mpegURL", 
                                                          "video/MP2T", "video/3gpp", "video/quicktime", 
                                                          "video/x-msvideo", "video/x-ms-wmv");
    
    if(in_array($mime, $accepted_mimes)) {
        //valid video format begin upload
    } else {
           //invalid video mime type
           // return back with errors
           return redirect->back()->withErrors(['msg', 'Invalid video']);
    }
    

    For a list of all available mime-types see here