Hi,
kurzer Umgebungsüberblick.
- Delphi Version 10.2
- WebBroker aktuell als eigenständiger Webserver lauffähig (später
ISAPI Modul im IIS)
- Dateien mit Größe 100mb +
Also, ich versuche ein Funktion zu erstellen, die mir eine Datei auf dem Filesystem als 'application/octet-stream' zur Verfügung stellt.
Funktioniert soweit auch schon. Verwende dafür einfach einen
TByteStream.LoadFromFile('FilePath')
.
das ganze sieht dann so aus:
Delphi-Quellcode:
Response.Content := '';
Response.ContentType := 'application/octet-stream';
Response.ContentStream := TBytesStream.Create;
TBytesStream(Response.ContentStream).LoadFromFile('FilePath');
Funktioniert Problemlos bis Dateien von ca. 50MB. Dann bekomme ich einen Socket Fehler 10054 Die Verbindung wurde von Peer zurückgesetzt. Ich nehme mal an, das hängt mit dem reservierten Speicher zusammen. Kennt das jemand und wie würde man das umgehen?
Die Abfrage in Chunks aufteilen könnte helfen, aber ich weiß nicht wie ich das mit dem Websocket umsetzen kann, der Sendet ja zum schluss erst alles gebündelt raus und nicht schon zwischenzeitlich, oder?
vG
PJM