Hello, You can use libtar and zstream units, from the LCL. Class TTarArchive creates a .tar stream and TCompressionStream compress it using gzip algorithm. Combine them to create .tar.gz archives.
Both classes can work "on the fly" without saving information on disk. Guillermo "Ñuño" Martínez > Hello, > > I'm using gzip from Apache to compress my static files (like HTML, > CSS, JS etc.), and it worked fine (http://imagebin.org/303024). But, > to compress the CGI content, I'm using deflate: > > var > m: TMemoryStream; > begin > if aeDeflate in BrookGetAcceptEncodingSet(ARequest.AcceptEncoding) > then begin > m := TMemoryStream.Create; > try > with TCompressionStream.Create(clMax, m, True) do > try > Write(AResponse.Content[1], Length(AResponse.Content)); > finally > Free; > end; > m.Seek(0, 0); > AResponse.SetCustomHeader(fieldContentEncoding, 'deflate'); > AResponse.ContentStream := m; > AResponse.SendContent; > finally > m.Free; > end; > end; > end; > > Now I need to use gzip instead of deflate, like: > > AResponse.SetCustomHeader(fieldContentEncoding, 'gzip'); > > So, how to use zstream to (or other) to compress my content stream in > gzip mode? I need to create a temporary gzip file (using > TGZFileStream class) and load it after from my stream (m), or I can > do it directly in stream? > > Thank you! > _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal