如果我们使用文件上传和表单属性enctype="multipart/form-data",我将在EmbPerl的%fdat变量中获得表单数据值作为NULL。
下面是EmbPerl代码:
if(( defined $fdat{file} && $fdat{file} ) && $fdat{upload} )
{
$filename = "/tmp/sample.txt";<br/>
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> </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和Linux操作系统。
发布于 2013-05-07 12:32:54
如果您将CGI版本降级到3.37,那么它将会工作。
https://stackoverflow.com/questions/15245158
复制相似问题