Ok,

I wrote my own descendant:

  TMyHTTPSend = class(THTTPSend)
  private
    function MyReadUnknown(AFile: TFileStream): Boolean;
    function MyReadIdentity(AFile: TFileStream; Size: Integer): Boolean;
    function MyReadChunked(AFile: TFileStream): Boolean;
  public
    function UploadFile(const Method, URL, AFileName: string): Boolean;
    function DownloadFile(const Method, URL, ADestFileName: string):
Boolean;
  end;

Which use code from HTTPMethod but instead of
FSock.SendBuffer(Document.Memory) it uses FSock.SendStream(f) and
FSock.ReadStream(f) where "f" is TFileStream and it works like a charm :D .
Great that all methods and local variables are in protected section. Now I
can upload and download very big files without loading them to memory and
with all THTTPSend functionality (OnHeartBeat, OnStatus etc)


Regards
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
synalist-public mailing list
synalist-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synalist-public

Reply via email to