[問題] Perl CGI上傳檔案
這是我上傳檔案的網頁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)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章