在EmbPerl中的%fdat变量中将表单数据值设置为null

时间:2013-03-06 11:09:17

标签: perl apache embperl

我在%fdat的{​​{1}}变量中获取 NULL 表单数据值,用于表单属性为EmbPerl的文件上传。

这是EmbPerl代码:

enctype="multipart/form-data"

HTML代码是:

if(( defined $fdat{file} && $fdat{file} ) && $fdat{upload} )
{
         $filename = "/tmp/sample.txt";
         open (FILE, "> $filename") || die("open failed: $!");
         while (read($fdat{file}, $buffer, 32768)) 
         {
             print FILE $buffer || die("print test: $!");
             close FILE || die("close test: $!");  
         }
}

我使用的是EmbPerl / 2.3.0,CGI / 3.63,Perl / 5.10.1,Apache / 2.2.22和Linux操作系统。

1 个答案:

答案 0 :(得分:1)

我得到了解决方案。

这是CGI模块版本的问题。 Embperl在内部使用CGI模块来处理使用multipart / form-data编码的表单。您可以检索文件名(本地文件名,就像在浏览器端一样)和CGI.pm uploadInfo函数提供的信息。通过将CGI版本升级到3.37来解决该问题。