
24.06.2010, 09:23
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
абсолютно рабочий код:
http://data.cod.ru/61532
Код:
unit Unit1;
interface
uses
IdMultipartFormData,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
IdHTTP1: TIdHTTP;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses IdHeaderList;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
idmultipartformdatastream: TIdMultiPartFormDataStream;
begin
IdHTTP1.Get('http://data.cod.ru');
idmultipartformdatastream:=TIdMultiPartFormDataStream.Create;
idmultipartformdatastream.AddFormField('action', 'file_upload');
idmultipartformdatastream.AddFormField('password', '');
idmultipartformdatastream.AddFormField('description', 'testing');
idmultipartformdatastream.AddFormField('agree', '1');
idmultipartformdatastream.AddFile('sfile', 'c:\Downloads\background2.bmp', 'application/octet-stream');
try
IdHTTP1.Post('http://data.cod.ru/cabinet/upload/', idmultipartformdatastream);
except
if IdHTTP1.ResponseCode div 100<>3 then raise;
Edit1.Text:='http://data.cod.ru'+IdHTTP1.Response.RawHeaders.Values['LOCATION'];
end;
end;
end.
только я изменил TIdMultiPartFormDataStream. добавил в него еще один параметр. так что тебе нужно будет написать (в самом исходнике):
idmultipartformdatastream.AddFile('sfile', 'c:\Downloads\background2.bmp', 'application/octet-stream');
|