Ver Mensaje Individual
  #4  
Antiguo 13-03-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
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í.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita