如何使用Perl CGI检查上传文件的MIME类型?

FOO*_*OOM 1 perl upload cgi file-upload

我正在尝试<input type="file" />使用Perl 获取元素的MIME类型,但没有实际检查文件本身的内容,换句话说,只使用HTTP头.

我只能获得"multipart/form-type"Content-Type值,但我的理解是每个元素都会获得自己的MIME类型?

如何使用Perl查看子MIME类型?

Nic*_*son 6

我假设您使用 CGI.pm来执行此操作.如果您使用CGI的OO接口,您可以执行类似的操作.

use strict;
use warnings;
use CGI;

my $cgi = CGI->new;

my $filename = $cgi->param('upload_param_name');
my $mimetype = $cgi->uploadInfo($filename)->{'Content-Type'};
Run Code Online (Sandbox Code Playgroud)

如果您使用的是过程接口,则等效的是:

use strict;
use warnings;
use CGI qw/param uploadInfo/;


my $filename = param('upload_param_name');
my $mimetype = uploadInfo($filename)->{'Content-Type'};
Run Code Online (Sandbox Code Playgroud)