Laravel 5.4 UploadedFile :: getMimeType返回不正确的mimetype

时间:2017-07-11 11:48:10

标签: php laravel validation laravel-5 laravel-5.4

我有一个有效的.eps文件,我想上传。 我的验证器看起来像这样:

        // $file is an instance of UploadedFile
        $validator = \Validator::make( [
            'file' => $file
        ], [
            'file' => 'required|mimes:jpg,jpeg,png,tiff,psd,ai,eps,pdf'
        ] );
\dd($validator->fails());
        if ($validator->fails() ){
            ...
        }

$validator->fail()目前评估为true,导致我的脚本无法上传文件。 因为所有其他文件扩展名都在工作,我认为这是因为laravel不了解eps文件类型。因此,我想自己实施eps mime类型,但我不知道该怎么做。

我尝试上传的文件名为2365 MD8300_PC_03.epsapplication/octet-stream为mimetype。

有什么想法吗?

更新

当我dd $file时,它的输出是:

UploadedFile {#410 ▼
  -test: false
  -originalName: "2365 MD8300_PC_03.eps"
  -mimeType: "application/postscript"
  -size: 310578
  -error: 0
  #hashName: null
  path: "/private/var/tmp"
  filename: "phpy3tsMr"
  basename: "phpy3tsMr"
  pathname: "/private/var/tmp/phpy3tsMr"
  extension: ""
  realPath: "/private/var/tmp/phpy3tsMr"
  aTime: 2017-07-11 12:08:52
  mTime: 2017-07-11 12:08:50
  cTime: 2017-07-11 12:08:50
  inode: 21487530
  size: 310578
  perms: 0100600
  owner: 504
  group: 0
  type: "file"
  writable: true
  readable: true
  executable: false
  file: true
  dir: false
  link: false
}

因此实际的mime类型是正确的,只是$file->getMimeType()返回的值不正确application/octet-stream

0 个答案:

没有答案