Einzelnen Beitrag anzeigen

christophspaeth

Registriert seit: 7. Mär 2008
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Upload-Problem (ISAPI, TWebModul, POST)

  Alt 20. Jan 2015, 09:35
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!
Christoph Späth
  Mit Zitat antworten Zitat