ritschmanhard: File Upload mit CGI und C

Beitrag lesen

Hi Ventus!

Also, so wie ich das sehe, benötigtst du zunächst: http://de.selfhtml.org/html/formulare/datei_upload.htm#definieren

So, jetzt kommt das File als post Parameter in deinen CGI Kontext rein. Dies wird in Perl so gelesen (vergleiche hierzu auch das Beispiel:
http://aktuell.de.selfhtml.org/artikel/cgiperl/file-upload/index.htm

die datei-daten holen

my $file = $cgi->param("Datei");

Es bleibt also noch als "magische Frage", wie du mit einem C CGI auf post Parameter zugreifen kannst. Wie dies grundsätzlich geht, erfährt man (durch google) hier:
http://www.ssw.uni-linz.ac.at/Teaching/Lectures/Sem/2000/Muehlehner/
Quote: POST macht es erforderlich, die Eingaben über STDIN auszulesen. Da der Zeichenstrom nicht durch ein spezielles Terminationssymbol abgeschlossen wird, ist es notwendig, zuerst die Länge des Zeichenstroms über die Umgebungsvariable CONTENT_LENGTH zu ermitteln.
(...)
C:
size_of_form_information = getenv("CONTENT_LENGTH")
fread(myRequest, size_of_form_information, 1, stdin)

Ansonsten findest du ein fertiges CGI C Modul unter http://www.boutell.com/cgic/
Dabei ist in der Funktionsreferenz eventuell besonders folgende Funktionen von Interesse http://www.boutell.com/cgic/#functions:
Alle Funktionen der Art: cgiFormResultType cgiFormFile[...]

Dann viel Erfolg,
Richard