![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IdHTTPProxyServer и tmStreaming [WinXP]
MindWork © (2009-04-08 10:44:00)Есть программка - банальный прокси, написана на 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режиме?
Error202 (2009-08-18 23:16:00) [1]Вы нашди ответ?