我正在嘗試使用CGI腳本接受並保存使用HTTP POST發送zip文件的程序中的文件。爲什麼我的.zip文件在HTTP文件上傳後損壞?
在HTTP標頭的MIME部分,它看起來是這樣的:
Content-Disposition: form-data; name="el_upload_file_0"; filename="BugReport.zip";\r\n
Content-Type: application/octet-stream\r\n\r\n
在我的CGI代碼,我使用的是這樣的:
use CGI;
use strict;
my $cgi = CGI->new;
my $upload_file = $cgi->upload('el_upload_file_0');
my $time = time;
my $filename = "/tmp/$time.zip";
open TMP, ">$filename";
binmode TMP;
while (<$upload_file>) {
print TMP $_;
}
close TMP;
是不斷得到保存的文件是某種越來越腐敗,並不是一個有效的zip文件。 HTTP請求由C#應用程序發送,可能它發送的是損壞的zip文件,但我對此表示懷疑。我能做些什麼來進一步排除故障?