erhalte ich eine POST-Anfrage mitSo laden Sie eine Datei von einer POST-Anfrage hoch. CONTENT_TYPE: application/octet-stream. Perl
CONTENT_TYPE: application/octet-stream
ich alle Daten erhalten wie dieses
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');
Aber wenn ich versuche, es
print Dumper($data) ."\n";
print Dumper($cgiData) ."\n";
ich diese erhalten zu drucken:
$VAR1 = 'type=catalog&mode=file&filename=offers0_14.xml';
$VAR1 = {
'POSTDATA' => 'type=catalog&mode=file&filename=offers0_14.xml',
'session' => 'aa4979ad18f64e4d959dd16444cee5fd'
};
Wie kann ich die Datei filename = offers0_14.xml auf den Server laden und hochladen?
Zeigen Sie Ihren Upload-Code, wenn Sie möchten, dass wir darauf hinweisen, was damit nicht stimmt! – ikegami
@ikegami Ich verstehe sogar nicht, wie ich den Dateinamen bekommen soll. Wie üblich, habe ich einen Dateinamen in QUERY_STRING und schreibe ihn dann auf den Server 'my $ filehandle = $ self -> {cgiQuery} -> param ('filename'); mein $ filename = $ xmlrootpath. $ CgiData -> {filename}; mein $ Puffer; öffnen (OUTFILE, "> $ filename"); while (meine $ bytesread = lesen ($ filehandle, $ buffer, 1024)) { drucken OUTFILE $ buffer; } schließen OUTFILE; ' –
Es gibt keinen Dateinamen. Jetzt erfülle bitte meine Anfrage. – ikegami