Вниз
Скачать: CL | DM;

IdHTTPProxyServer и tmStreaming   Найти похожие ветки 

← →
MindWork ©   (2009-04-08 10:44) [0]

Есть программка - банальный прокси, написана на 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) [1]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
15-1319639915
dreamse
2011-10-26 18:38
2012.02.12
Настройка интерфейса IDE Вудзрш 2005 - 2009


2-1319994931
ProgRAMmer Dimonych
2011-10-30 20:15
2012.02.12
recv() с таймаутом


2-1318507172
Nucer
2011-10-13 15:59
2012.02.12
Самый быстрый способ считать маленький файл в строку


15-1319683450
brother
2011-10-27 06:44
2012.02.12
что означает %5 в поле POST запроса?


2-1320340245
vsafary
2011-11-03 20:10
2012.02.12
Память и динамические массивы




   Наверх