我得到如何從POST請求上傳文件。 CONTENT_TYPE:應用程序/八位字節流。 Perl的
CONTENT_TYPE: application/octet-stream
POST請求我得到這樣
my $cgiQuery = CGI->new() or die();
my $cgiData = $cgiQuery->Vars;
my $getQuery = CGI->new($ENV{QUERY_STRING});
my $getData = $getQuery->Vars;
foreach my $getKey(keys %{$getData})
{
$cgiData->{$getKey} = $getData->{$getKey};
}
my $data = $cgiQuery->param('POSTDATA');
但是當我嘗試打印
print Dumper($data) ."\n";
print Dumper($cgiData) ."\n";
我得到這一切的數據:
$VAR1 = 'type=catalog&mode=file&filename=offers0_14.xml';
$VAR1 = {
'POSTDATA' => 'type=catalog&mode=file&filename=offers0_14.xml',
'session' => 'aa4979ad18f64e4d959dd16444cee5fd'
};
如何獲取並上傳文件filename = offers0_14.xml到服務器?
如果您希望我們指出它出了什麼問題,請顯示您的上傳代碼! – ikegami
@ikegami我甚至不明白我應該如何得到文件名。像往常一樣,我在QUERY_STRING中獲得了一個文件名,並將其寫入服務器'my $ filehandle = $ self - > {cgiQuery} - > param('filename'); my $ filename = $ xmlrootpath。$ cgiData - > {filename}; my $ buffer; open(OUTFILE,「> $ filename」); (我的$ bytesread = read($ filehandle,$ buffer,1024)) printability } 關閉OUTFILE;' –
沒有文件名。現在請履行我的要求。 – ikegami