代码之家  ›  专栏  ›  技术社区  ›  jimp

如何获取只上载文件的cgi.pm字段列表?

  •  2
  • jimp  · 技术社区  · 7 年前

    我已经用过 CGI::Simple 过去,用于一般用途的上传处理器。我显然使用了一个内部方法 upload_fieldnames ,返回上载的字段名数组。

    我正在尝试将此代码修改为使用cgi.pm,因为Centos7更常见。如何获取仅文件上载字段的列表?我发现的所有示例都使用已知的字段名,我事先不知道这些字段名。其他字段可能与表单一起提交,我只需要对提供文件上载的字段进行操作。

    1 回复  |  直到 7 年前
        1
  •  4
  •   Dave Cross    7 年前

    cgi.pm没有等价于 upload_fieldnames() 方法,但可以使用 param() upload() 方法。 参数() 将为您提供所有参数名称的列表,您可以使用 上载() 检查每个文件是否都是文件上传。

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

    或者,作为一条直线:

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

    更新: 我只是想对此事发表评论。

    我正在尝试将此代码修改为使用cgi.pm,因为Centos7更常见。

    我不确定您的用例在这里是什么,但我强烈怀疑您的时间最好花在如何安装所需模块上,而不是在缺少某些模块的情况下工作。

    如果它对您有任何帮助,我刚刚构建了一个cgi::simple的RPM,并将其上载到了我的RPM存储库 rpm-mag-sol.com .