Есть программка - банальный прокси, написана на
IdHTTPProxyServer.
У этого компонента был один недостаток: если через прокси проходил большой файл, то он сначала скачивался компонентом целиком, а затем отдавался дальше.
В новой версии компонента, этот недостаток исправили, теперь можно выбирать
tmFullDocument(качать целиком) и
tmStreaming(качать и отдавать кусками) в
DefaultTransferMode.
Суть программы заключалась в том, что пропуская через себя информацию, некоторые файлы(скажем картинки > 300кб) сохранялись на диск.
Делалось это так:
procedure TForm1.IdHTTPProxyServer1HTTPDocument(AContext: TIdHTTPProxyServerContext;
var VStream: TStream);
var
FS : TFileStream;
begin
if VStream.Size > 300000 then
Begin
FS := TFileStream.Create('C:\img.jpg', fmCreate);
FS.CopyFrom(VStream, VStream.Size);
FS.Free;
End;
end;
Так вот, если выбрано
tmFullDocument, то всё прекрасно работает, однако, когда я ставлю
tmStreaming, то данное событие (
IdHTTPProxyServer1HTTPDocument) не вызывается вовсе!
Вопрос:
Как сделать данную операцию(сохранение файла), в
tmStreaming режиме?