perl - 如何使用 CGI::Application 获取上传文件的内容类型?

标签 perl cgi-application

我正在尝试使用 CGI::Application 在 Perl 程序中处理上传的文件。我需要获取上传文件的内容类型。根据我的阅读,以下内容应该有效,但不适合我:

my $filename = $q->param("file");
my $contenttype = $q->uploadInfo($filename)->{'Content-Type'};

事实证明,$q->uploadInfo($filename) 返回undef$q->uploadInfo("file") 也是如此。

有什么想法吗?

谢谢!

最佳答案

您相信上传的任何内容都会为您提供良好的内容类型吗?我只是将上传的文件保存到磁盘并执行以下操作:

chomp(my $mime_type = qx!file -i $uploaded!);
$mime_type =~ s/^.*?: //;
$mime_type =~ s/;.*//;

尽管您可以使用 File::Type、File::MMagic 或 File::MimeInfo 来代替。

关于perl - 如何使用 CGI::Application 获取上传文件的内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/370215/

相关文章:

perl - 使用 Moose 进行对象组合的最佳方法是什么?

perl - 如何从命令行运行 CGI::Application 运行模式?

apache - 如何防止跨站请求伪造攻击?

Perl CGI::Fast 关闭连接而不发送数据

perl - perl 中的 "if (!((-s<filename/filepath>) && (some condition))) "是做什么的?

perl - 如何检查unicode文件名是否存在?

perl - 在 Ubuntu 启动时运行 perl 脚本

perl - 尝试使用 perl 登录网站时出现问题