我有一个有效的.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.eps
,application/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
。