Как получить список полей CGI.pm, которые являются только загрузками файлов? - PullRequest
0 голосов
/ 18 декабря 2018

В прошлом я использовал CGI::Simple для процессора загрузки общего назначения.Очевидно, я использовал внутренний метод с именем upload_fieldnames, который возвращает массив имен полей, которые являются загружаемыми.

Я пытаюсь адаптировать этот код для использования CGI.pm, потому что он более доступен для CentOS 7Как получить список только полей загрузки файла?Все примеры, которые я нашел, используют известные имена полей, которые я не знаю заранее.Другие поля могут быть отправлены вместе с формой, и мне нужно работать только с теми, которые обеспечивают загрузку файла.

1 Ответ

0 голосов
/ 18 декабря 2018

CGI.pm не имеет эквивалента метода upload_fieldnames(), но вы можете синтезировать что-либо, используя комбинацию методов param() и upload().param() выдаст вам список всех имен параметров, и вы можете использовать upload(), чтобы проверить, является ли каждое из них загружаемым файлом.

my @upload_fieldnames;

foreach (param()) {
  push @upload_fieldnames, $_ if upload($_);
}

Или, как однострочный:

my @upload_fields = grep { upload($_) } param();

Обновление: Я просто хотел добавить комментарий к этому.

Я пытаюсь адаптировать этот код для использования CGI.pm, потому чтоэто более широко доступно для CentOS 7

Я не уверен, какой у вас вариант использования здесь, но я сильно подозреваю, что ваше время будет лучше потрачено на разработку, как установить необходимые модули, а неОбойти отсутствие определенных модулей.

Если это вам вообще поможет, я просто собрал RPM CGI :: Simple и загрузил его в свой RPM-репозиторий со скоростью rpm-mag-sol.ком .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...