Php Laravel 5.4 UploadedFile::getMimeType返回不正确的mimetype
我有一个有效的Php Laravel 5.4 UploadedFile::getMimeType返回不正确的mimetype,php,laravel,validation,laravel-5,laravel-5.4,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' ] );
.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()。
因为所有其他文件扩展名都在工作,我认为这是因为laravel不理解eps文件类型。因此,我想自己实现eps mime类型,但我不知道如何实现
我尝试上载的文件名为2365 MD8300_PC_03.eps
,并且具有作为mimetype的application/octet stream
有什么想法吗
更新:
当Idd
$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()
返回了一个不正确的应用程序/八位字节流的值什么是$file
?@SagarGautam$file是上传文件的一个实例
我认为应用程序/八位字节流
指的是binery文件。你确定eps文件的mime类型吗?看看!!尝试像这样传递“文件”=>“必需”| mimes:application/octet stream”并检查