Конференция "Сети" » Передача файла через HTTP протокол [D7, WinXP]
 
  • kolj (08.07.08 14:38) [0]
    Пишу две программы, клиент и сервер, для обмена файлами через протокол HTTP, использую idhttp и idhttpserver indy9.
    Проблема возникает при передаче файла от клиента к серверу (разрывает связь и файл не создает)

    P.S. Подскажыте в чем ошибка.

    использую следующий код:

    сервер
    procedure TfmHTTPServerMain.HTTPServerCreatePostStream(
     ASender: TIdPeerThread; var VPostStream: TStream);

    var t:tmemorystream;

    begin

    t:=tmemorystream.create;

    t.LoadFromStream(vpoststream);

    t.SaveToFile('c:\ggg.jjj');

    end;

    клиент
    procedure TForm1.Button2Click(Sender: TObject);

    var a : TIdMultiPartFormDataStream;

    begin
     
     a := TIdMultiPartFormDataStream.Create;
     
     a.AddFile('files', 'C:\1.txt', 'multipart/form-data');

     idHTTP1.Post('http://10.4.0.70', a);

     a.Free;

    end;
  • Eraser © (08.07.08 14:55) [1]
    > [0] kolj   (08.07.08 14:38)

    подозреваю, что в var VPostStream: TStream надо передавать файловый поток, в который уже Indy самостоятельно будет писать данные, по мере их поступления.
 
Конференция "Сети" » Передача файла через HTTP протокол [D7, WinXP]
Есть новые Нет новых   [134432   +19][b:0][p:0]