Andreas Bierhals: iis und file upload

Beitrag lesen

Hallo!

werden. Beim iis kommt das file aber nicht an. Der iis3 antwortet mit einem 501,
dass er das nicht unterstuetzt. Beim iis4 ist das alles kein Problem, da aber
auf dem Server auch ....

also nach meiner Erfahrung funktioniert das auch mit IIS-Versionen < 4 - in meinem Fall sogar noch mit einer 2'er-Version, allerdings hatte ich damit auch zu kämpfen. Das Problem war, daß bei 'multipart/form-data' ja mehrzeilige Daten herübergereicht werden. Und Zeilenumbrüche in ASCII-Dateien gehören zu den Dingen, für die es wohl nie einen einheitlichen Standard geben wird *g*.
Beispiel zur Anschauung: In CONTENT_LENGTH steht "500" und die upgeloadete Datei hat 20 Zeilen. Unter Windows besteht ein Zeilenumbruch aus 2 ASCII-Zeichen, is ja auch logisch, da man ja auch bei einer Schreibmaschine einen (1) Wagenrücklauf und (2) einen Zeilenvorschub erwirken muß (*§$@$!...).  In vielen Fällen (z.B. bei Verwendung der Sprache C/C++) wird aber von der Einleseroutine nur ein Zeichen für einen Zeilenumbruch übermittelt. Das führt dazu, daß die Datei aus dem Beispiel schon nach 480 Bytes (wegen der 20 Zeilen) komplett an das CGI-Skript übermittelt wurde. Verlangt waren aber 500 Bytes! Ergebnis - das Skript wartet und wartet und ......

Vielleicht habt ihr bei euch ja ein ähnliches Problem?! Das ganze habe ich ansonsten schon mal etwas auführlicher unter <../../sfarchiv/1998_4/t01482.htm#a6277> gepostet.

Viele Grüße

Andreas

P.S.: Noch mal was anderes - Die Ausführung von CGI-Skripten läuft bei IIS-Versionen kleiner als 4 anders, man muß einen Registry-Eintrag unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\Script_Map (oder so ähnlich) machen (für Perl z.B. : ".pl    c:\bin\perl.exe %s %s"), aber das weißt Du wahrscheinlich bereits...