【发布时间】:2015-11-29 21:49:53
【问题描述】:
我正在尝试将文档文件上传为 pdf、doc、docx。为了让我使用这个值:
$mimes = [
'doc' => [
'application/msword',
'application/vnd.ms-office'
],
'docx' => [
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
],
'pdf' => [
'application/pdf',
'application/x-pdf'
],
];
输出:string(150) "application/msword,application/vnd.ms-office,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/pdf,application/x-pdf"
文件上传后,我的任何类型的 mime 规则都失败了。
所以,我做这个测试:
$input = [
'document' => $document // UploadedFile instance
];
$clientMime = $document->getClientMimeType() // output @example application/pdf
$rules = [
'document' => 'mimes:' . $clientMime;
];
$validator = Validator::make( $input, $rules );
$validator->fails()->errors() // mime fail
其他测试
上传 .jpg 文件(例如)mime 规则有效
$rules = [
'document' => 'mimes:jpeg,jpg';
];
$validator = Validator::make( $input, $rules ); // all right
有人可以帮忙吗?
【问题讨论】: