本文目录导读:

是的,Laravel 的验证器支持通过 MIME 类型验证文件,具体可以通过以下几种方式实现:
基本 MIME 类型验证(推荐)
使用 mimes 规则,基于文件扩展名:
$request->validate([
'file' => 'required|mimes:pdf,doc,docx,jpg,png'
]);
基于 MIME 类型字符串验证
使用 mimetypes 规则,基于实际 MIME 类型:
$request->validate([
'file' => 'required|mimetypes:application/pdf,image/jpeg,image/png'
]);
验证图片
专门用于图片验证:
$request->validate([
'photo' => 'required|image|mimes:jpeg,png,gif'
]);
在控制器中手动验证
use Illuminate\Support\Facades\Validator;
$validator = Validator::make($request->all(), [
'file' => [
'required',
'mimes:pdf,docx',
'mimetypes:application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document',
],
]);
安全提示
⚠️ 重要区别:
mimes:基于文件扩展名(可能被伪造)mimetypes:基于 PHP 的finfo函数读取文件(更安全)
推荐组合使用:
'file' => 'required|mimes:pdf|mimetypes:application/pdf'
常见 MIME 类型示例
application/pdf - PDF
application/msword - DOC
image/jpeg - JPEG
image/png - PNG
text/plain - TXT
application/zip - ZIP
这样就能有效防止通过修改文件扩展名绕过验证的安全问题。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播