İstemci sunucudan bir dosya talep ettiğinde, stream yanıtını yüklemek için OnHTTP2Response olayını kullanın.
Büyük dosyaları (yüzlerce MB veya daha fazla) indirirken, aktarımın varsayılan 60 saniyelik zaman aşımı tarafından kesintiye uğramadan tamamlandığından emin olmak için HTTP2Options.ReadTimeout değerini 0 (zaman aşımı yok) olarak ayarlayın:
oClient := TsgcHTTP2Client.Create(nil);
oClient.HTTP2Options.ReadTimeout := 0; // no timeout for large files
oClient.Get('https://server/largefile', oStream);
oClient := TsgcHTTP2Client.Create(nil);
oClient.OnHTTP2Response := OnHTTP2ResponseEvent;
oClient.Get('https://http2.golang.org/file/gopher.png');
...
procedure OnHTTP2ResponseEventEvent(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient;
const Request: TsgcHTTP2RequestProperty; const Response: TsgcHTTP2ResponseProperty)
begin
oStream := TFileStream.Create('file', fmOpenWrite or fmCreate);
Try
oStream.CopyFrom(Response.Data, Response.Data.Size);
Finally
oStream.Free;
End;
end;