Laravel7 : 验证上传的文件
Laravel7 : Validate uploaded files
我有一个从用户那里获取文件的表单,我使用以下规则验证文件格式:
$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, ... '],
]);
我有一个从用户那里获取文件的表单,我使用以下规则验证文件格式:
$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, ... '],
]);