inputfilter выдает ошибку при использовании с несколькими файлами - PullRequest
0 голосов
/ 05 ноября 2018

Я использую Inputfilter, который работает для формы, где я загружаю 1 файл. Если я использую элемент для загрузки нескольких файлов, я получаю предупреждающее сообщение.

Сначала предупреждение:

Предупреждение: finfo_file (): предоставленный ресурс не является допустимой file_info ресурс в C: \ wamp64 \ WWW \ хуг \ поставщика \ ZendFramework \ Зенд-валидатор \ SRC \ File \ MimeType.php

Под сообщением в форме: «Тип файла не совпадает», поэтому я думаю, что Inputfilter используется несколько.

Вот фрагмент моего Inputfilter:

    $inputFilter->add([
            'type'     => 'Zend\InputFilter\FileInput',
            'name'     => 'Document_Path',  
            'required' => true,    
            'filters'  => [        
                    [
                            'name' => \Zend\Filter\File\RenameUpload::class,
                            'options' => [
                                    'use_upload_name'=>true,
                                    'use_upload_extension' => true,
                                    'randomize' => false,
                                    'overwrite' => true,
                                    'target' => './public/files/pads',
                            ],
                    ],
            ],
            'validators' => [      // Validators.
                    [
                            'name' => \Zend\Validator\File\Extension::class,
                            'options' => [
                                    'extension' => 'pdf',
                                    'message' => 'File extension not match',
                            ],
                    ],
                    [
                            'name' => \Zend\Validator\File\MimeType::class,
                            'options' => [
                                    'mimeType' => 'application/pdf',    //'text/xls', 'text/xlsx',
                                    'message' => 'File type not match',
                            ],
                    ],
                    [
                            'name' => \Zend\Validator\File\Size::class,
                            'options' => [
                                    'min' => '1kB',  // minimum of 1kB
                                    'max' => '8MB',
                                    'message' => 'File too large',
                            ],
                    ],
            ]
    ]);

Здесь элемент формы, с которым работает inputfilter:

        $this->add([
            'name' => 'Document_Path',
            'type' => 'File',
            'options' => [
                    'label' => 'path to file',
            ],
    ]);

А вот один для загрузки нескольких файлов:

        $this->add([
            'name' => 'Document_Path',
            'type' => 'File',
            'options' => [
                    'label' => 'pick folder of files',
            ],
             'attributes' => [ 
                  'multiple' => true,
              ],
    ]);

Я выполняю тестирование с теми же файлами, которые работали при обычной загрузке (1 файл). Конечно, это pdf-файлы.

Любая помощь, предложения, обходные пути приветствуются.

...