作者erspicu (.)
看板Perl
标题[问题] Perl CGI上传档案
时间Tue Oct 20 20:57:05 2009
这是我上传档案的网页FORM
<form ENCTYPE="multipart/form-data" method="POST" action="cgi-bin/test.pl" >
选择档案: <input type="FILE" name="file" >
<input type=submit value="上传">
</form>
这是我处理上传资讯的PERL CGI档
!C:\Perl\bin\perl.exe
print "Content-type: text/html\n\n";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@parts = split(/\x0a/,$buffer);
$filename=$parts[1];
$filename =~ s/Content-Disposition\: form-data\; name=\"file\"\; filename\=//g;
$filename =~ s/\"//g;
print "正在传输档案 [$filename] ... 中,请稍等.<br>\n";
pop(@parts); shift(@parts); shift(@parts); shift(@parts); shift(@parts);
$tmp = join ("\x0a",@parts);
open (FILE,">$filename");
binmode(FILE);
print FILE "$tmp";
close(FILE);
print "档案 [$filename] 传输完毕!";
经过测试档案可以顺利上传,但是如果传到大一点的JPEG图档,
照片就会有点怪怪的,好像上传图中有几个字元被吃掉,跟原档相比少了几个BYTE,
有人知道原因吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.127.192.99
※ 编辑: erspicu 来自: 219.70.3.164 (10/20 21:20)