1

formプロパティを使用したファイルアップロードの変数でNULLフォームデータ値を取得しています。%fdatEmbPerlenctype="multipart/form-data"

EmbPerlコードは次のとおりです。

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: $!");  
         }
}

そしてHTMLコードは:

<form name="form1" method="post" enctype="multipart/form-data" onsubmit="return validation();">
 <table>
  <tr>   
    <td>Select EXCEL sheet</td>
    <td><input type="file" name="file" value=""></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="upload" value="upload"></td>
   </tr>
 </table>
</form>

私はEmbPerl/2.3.0、CGI / 3.63、Perl / 5.10.1、Apache / 2.2.22、およびLinuxOSを使用しています。

4

1 に答える 1

1

I got the solution.

It was the issue of CGI module version. Embperl uses CGI module internally to process forms encoded with multipart/form-data. you can retrieve the filename (local filename, as it was on the browser side) and the information provided by the CGI.pm uploadInfo function. The problem was fixed by upgrading CGI version to 3.37.

于 2013-03-07T03:14:38.490 に答える