Hallo,
ich möchte bei einem älteren Webprojekt (TWebModule;
ISAPI-Modul via mod_ISAPI in Apache 2.4 geladen) einen Dateiupload einbauen. Wegen div. Abhängigkeiten ist dieses Projekt noch auf Delphi 2006.
So lange nur eine kleine Datei hochgeladen wird, funktioniert das auch. Wenn eine Datei von einem knappen MB hochgeladen wird, hat TWebRequest.Content nur ca. 48k - ist ja auch so in der Dokumentation angegeben. Wenn ich jetzt aber einen Buffer reserviere und versuche mit ReadClient(...) den Rest zu lesen, bekomme ich 0 zurück, also nichts gelesen.
Delphi-Quellcode:
var
buff:AnsiString;
remBytes: Integer;
...
begin
...
remBytes := request.ContentLength - length(request.content); // remBytes hat in meinem Versuch noch gut 800k
setLength(buff, remBytes);
bytesRead := request.ReadClient(buff[1], remBytes); // liefert 0 zurück
...
In ziemlich alten Posts (2003, 2004), die sich aber noch auf Apache 1.3 beziehen habe ich von einer 48k-Grenze gelesen, aber keine aktuellen Info dazu gefunden.
Den ISAPIReadAheadBuffer im Apache möchte ich eigentlich nur ungern erhöhen.
Gibt es da bekannte Probleme bzw. hat noch jemand einen Tipp was ich ausprobieren könnte?
Danke!