ThinkPHP6上传踩过的坑:Argument 1 passed to think\\Validate::check() must be of the type array

2021-11-16 18:46 ThinkPHP 103 梁俊威

最近在研究ThinkPHP6,在使用上传的时候,发现真的踩了不少坑,官方给的文档在调用验证器的时候,其实并不对,废话不多说,直接上代码。

错误提示:Argument 1 passed to think\\Validate::check() must be of the type array, object given, called in E:\\2021\\admin\\app\\admin\\controller\\Attachment.php on line 40


$file = request()->file('file');
// 验证数组,一定要注意大小写
$validate = [
    // 文件大小,单位:字节(B)
    'fileSize' => 1024 * 1024 *10,
    // 文件后缀
    'fileExt' => 'jpg,png,gif'
];
try{
    // 注意这里,官方文档给的是错误的
    validate(['file'=>$image_validate])
        ->check(['file'=>$image]);
}catch (\Exception $e){
    return json([
         'code' => 0,
         'msg'  => $e->getMessage()
    ]);
}

其次,使用request()->file()获得的文件参数是不能直接调用的,你可以采用$_FILES['']进行获取文件名等操作。

若无特殊说明,本站点所有内容均为原创,转载请说明出处!

原文链接:https://www.ljwei.com.cn/read/360.html

QQ客服

QQ客服

微信客服

微信客服

微信客服二维码
意见反馈

意见反馈

一键置顶