我有一个从用户那里获取文件的表单,我用以下规则验证文件格式:
$valid = validator($request->only(['files'],[
'files' => ['nullable', 'array'],
'files.*' => ['mimes:zip,rar,jpeg,jpg,png,txt,doc,docx,pdf','max:25600']
]);
正如你所看到的,我说过也接受文本文件。但我只想接受text/plain
文件。但例如,它也接受Python文件,因为它们是text/x-python
。我甚至将mimes.php
文件添加到config
文件夹中,并在其中放入以下代码。但它仍然接受Python文件。
// config/mimes.php
<?php
return [
'txt' => ['text/plain']
];
使用mimetypes
规则而不是mimes
。通过这种方式,您可以将规则指定为:
$validated = request()->validate([
'files.*' => ['mimetypes:text/plain, ... '],
]);
参考资料:Laravel文档