Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Вы нашди ответ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо