首页 文章

Laravel验证多个文件

提问于
浏览
1

我正在尝试验证多选文件上传到Laravel .

Request 但是我没有't understand why it doesn't验证显然所有上传都是图片 .

print_r 输出:

Array([file] => Array([0] => Illuminate \ Http \ UploadedFile Object([test:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => [originalName:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 236x177_3F2.jpg [mimeType:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => image / jpeg [size:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 19335 [错误: Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 0 [pathName:SplFileInfo:private] => / tmp / phpWyxPrW [fileName:SplFileInfo:private] => phpWyxPrW)[1] => Illuminate \ Http \ UploadedFile对象([test:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => [originalName:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => Bierstadt_Sunrise_Lg_1966-1 [1] .jpg [mimeType:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => image / jpeg [size:Symfony \ Component \ HttpFoundation \ File \ UploadedFile:private] => 113765 [错误:Symfony \ Component \ HttpFoundation \ File \ Uploaded File:private] => 0 [pathName:SplFileInfo:private] => / tmp / php5GtG4F [fileName:SplFileInfo:private] => php5GtG4F)))

代码:

if($typeof=="photo")
        {
        $photo = $request;
        print_r($photo::all());
        $validator = Validator::make($photo::all(), [
            'file' => 'required|image|mimes:png,gif,jpeg,bmp'
        ]);
        if ($validator->fails()) {
           abort(500,"Not an image!");
        }

它始终以非图像错误中止,即使您可以从 print_r 输出中看到它们是图像 .

看起来像嵌套数组我试图抵消我的验证请求,然后我得到了未定义的偏移量,请帮助我获取实际的文件数据以进行正确的验证 .

1 回答

  • 3

    嗯,这不是一个图像,它是一系列图像 .

    您需要像这样验证:

    if($typeof=="photo")
    {
        $photo = $request;
        print_r($photo::all());
    
        $validator = Validator::make($photo::all(), [
            'file.*' => 'required|image|mimes:png,gif,jpeg,bmp'
        ]);
    
        if ($validator->fails()) {
           abort(500,"Not an image!");
        }
    }
    

相关问题