Einzelnen Beitrag anzeigen

TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
252 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: zLib und indy-Server - String komprimieren

  Alt 15. Feb 2020, 08:01
So, nun konnte ich es selbst lösen.

Code:
if (Length(hs) > 200) And (isComp) then begin                       //hs Sendedaten als String
    i:= Pos('gzip', request.AcceptEncoding);                        //Prefer gzip
    ms:= TMemoryStream.create;
    if ( i < 0) then begin
      //Use Deflate
      zcs:= zLib.TZCompressionStream.Create(ms);
      AResponseInfo.ContentEncoding := 'deflate';
    end else begin
      //Use gZip
      i:= 15 + 16;
      zcs:= zLib.TZCompressionStream.Create(ms, zcDefault, i);
      AResponseInfo.ContentEncoding := 'gzip';
    end;
    aBl:= ToBytes(hs, IdGlobal.IndyTextEncoding_UTF8);
    zcs.WriteData(abl, Length(abl));
    zcs.free;
    AResponseInfo.ContentStream:= ms;
  end else begin
    AResponseInfo.ContentText := hs;
  end;
  AResponseInfo.WriteContent;
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat