Philipp Hasenfratz: CGI -> File Upload

Beitrag lesen

Halihallo Persil

Nun versuche ich allerdings eine Datei über ein Formular zu uploaden und diese auf meine webserver in einem verzeichnis abzulegen.

C kann sowohl die Standard Eingabe (stdin) lesen, wie auch eine Datei
auf dem Webserver erstellen. Insofern sind die Voraussetzungen da...

<form METHOD=POST ACTION=http://webserev/cgi-bin/downupload.exe>

<form ... type="multipart/form-data">

Die Daten müssen unter Verwendung vom multipart/form-data MIME-Typ
kodiert sein, ansonsten kannst du keine Dateien übertragen, sondern
nur deren Dateiname (AFAIK).

meine eigentlich frage ist: was muss ich tun (konfiguration am server eingeschlossen), wenn meine Anwendung die die Daten per "Post" entgegen nimmt tun?

Über POST werden alle Daten, die der Client sendet in stdin, der
Standardeingabe zur Verfügung gestellt. Du kannst also einfach stdin
einlesen (getenv("CONTENT_LENGTH") Bytes) und die kodierten Daten
dort encodieren. Den Dateiinhalt kannst du dann in die Datei auf dem
Webserver speichern.

Zum Verständnis der Kodierung:
http://www.ietf.org/rfc/rfc2388.txt
http://www.ietf.org/rfc/rfc1867.txt

Viele Grüsse

Philipp