Laravel 7检测到不正确的MIME类型

问题描述

PHP 7上的Laravel 7检测到.ogg扩展名不正确的MIME类型application/octet-stream

这是适用的文件请求转储:

Illuminate\Http\UploadedFile {#1274 ▼
  -test: false
  -originalName: "03 - See You Tonite.ogg"
  -mimeType: "application/octet-stream"

有人知道解决方法吗?

解决方法

首先检查您的mime类型文件:

 return $request->file('field_name')->getMimeType();

现在,您可以在AppServiceProvider的启动方法中添加以下代码:

public function boot()
    {
       
        Validator::extend('ogg_extension',function($attribute,$value,$parameters,$validator) {
             
            if(!empty($value->getClientOriginalExtension()) && ($value->getClientOriginalExtension() == 'ogg')){
                return true;
            }else{
                return false;
            }
             
        });
    }