unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, xmldom, XMLIntf, msxmldom, XMLDoc,IdMultipartFormData,
ComCtrls;
type
TForm1 = class(TForm)
IdHTTP1: TIdHTTP;
Memo1: TMemo;
btn2: TButton;
edt1: TEdit;
Memo3: TMemo;
XMLDocument1: TXMLDocument;
btn3: TButton;
edt2: TEdit;
edt3: TEdit;
edt4: TEdit;
edt5: TEdit;
edt6: TEdit;
pb1: TProgressBar;
stat1: TStatusBar;
btn1: TButton;
edt7: TEdit;
dlgOpen1: TOpenDialog;
procedure btn3Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
procedure IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
procedure btn1Click(Sender: TObject);
procedure edt1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn3Click(Sender: TObject);
begin
try
XMLDocument1.FileName:='http://api.sendspace.com/rest/?method=anonymous.uploadgetinfo&api_key=ZK2CZDXGZW&api_version=1.0';
XMLDocument1.Active:=True;
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['url']);
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['progress_url']);
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['max_file_size']);
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['upload_identifier']);
Memo3.Lines.Add(XMLDocument1.DocumentElement.ChildNodes[0].Attributes['extra_info']);
edt2.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['url'];
edt3.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['progress_url'];
edt4.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['max_file_size'];
edt5.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['upload_identifier'];
edt6.Text:= XMLDocument1.DocumentElement.ChildNodes[0].Attributes['extra_info'];
btn2.Enabled:=True;
except
end;
end;
procedure TForm1.btn2Click(Sender: TObject);
var
Data: TIdMultiPartFormDataStream;
begin
try
IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 5.1; rv:9.0) Gecko/20100101 Firefox/9.0';
Data := TIdMultiPartFormDataStream.Create;
Data.AddFile('userfile',edt1.text,'application/octet-stream');
Data.AddFormField('MAX_FILE_SIZE',edt4.Text);
Data.AddFormField('UPLOAD_IDENTIFIER',edt5.Text);
Data.AddFormField('extra_info',edt6.Text);
Memo1.Text:=IdHTTP1.Post(edt2.Text, Data);
btn1.Enabled:=True;
except
end;
end;
procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
pb1.Max:= AWorkCountMax div 1024;
pb1.Position:=0;
end;
procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
pb1.Position:= AWorkCount div 1024;
Application.ProcessMessages;
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
XMLDocument1.XML.Text:=Memo1.Text;
XMLDocument1.Active := true;
edt7.Text:=XMLDocument1.DocumentElement.ChildNodes[1].ChildNodes[0].Text
end;
procedure TForm1.edt1Change(Sender: TObject);
begin
if dlgOpen1.Execute then
edt1.Text:=dlgOpen1.FileName;
end;
end.
'//c:\Project1.exe'