Hola,
Inicia un nuevo proyecto y añade en el formulario principal un "TMemo", un "TButton" y un "TIdHttp". Con el siguiente código estarías enviando un archivo mediante una petición HTTP POST, algo que pone muy sencillo el componente "IdHttp" y alguna clase auxiliar, como verás:
Código Delphi
[-]
uses
IdMultipartFormData;
procedure TForm1.Button1Click(Sender: TObject);
var
response: TStringStream;
postData: TIdMultipartFormDataStream;
begin
response := TStringStream.Create(EmptyStr);
postData := TIdMultiPartFormDataStream.Create();
try
postData.AddFile('file', 'C:\archive.xml', 'application/octet-stream');
try
IdHTTP1.Post('http://localhost/upload.php', postData, response);
Memo1.Text := response.DataString;
except
on E: Exception do begin
ShowMessage(E.Message);
end;
end;
finally
response.Free();
postData.Free();
end;
end;
En el caso de que quien recibiese la petición fuera un "script" PHP, dispondrías de la información del archivo en la variable $_FILES. En el caso de que fuera un "script" escrito en otro lenguaje, tendrás que investigar, pero, por ahí deben ir los tiros.
PD. El código de arriba se basa en
este otro, que, encontré (junto a otros resultados) buscando por ahí.
