Enviando dados via HTTP
Olá, preciso enviar um arquivo do tipo Txt para um endereço Http utilizando o componente IdHttp do Delphi 7, algué, já fez isso?
Mauricio
Curtidas 0
Respostas
Thiago Santana
26/03/2015
Veja se isso te ajuda!
var
params: TIdMultipartFormDataStream;
ss: TStringStream;
begin
try
//criando os parametros
params := TIdMultiPartFormDataStream.Create;
//enviando
params.AddFormField('nome', 'Ricardo');
params.AddFormField('sobrenome', 'Gavira');
//vc pode enviar uma imagem via Stream usando o AddObject, onde
DataStream é o AnsiString da Imagem
DataStream := 'BM>......';
ss := TStringStream.Create(DataStream);
params.AddObject('minhaImagem', 'image/bmp', ss);
//ou então enviar qualquer arquivo usando o AddFile, inclusive uma
imagem. Não esqueça de informar o
//encType correto
params.AddFile('ass', 'c:\temp\imagem.bmp', 'image/bmp');
IdHTTP.Request.CustomHeaders.Clear;
IdHTTP.Request.Clear;
IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP.Request.ContentEncoding := 'multipart/form-data';
//aqui no caso estou mandando para uma servlet, mais pode ser para
qualquer servidor (php, asp, delphi, etc)
IdHTTP.Post('<a href="http://www.google.com/url?sa=D&q=http://192.168.10.100:8080/MinhaServlet%27" rel="nofollow" target="_blank">http://192.168.10.100:8080/MinhaServlet'</a>, params));
except
end;
FreeAndNil(params);
FreeAndNil(ss);
GOSTEI 0
Mauricio
26/03/2015
Muito obrigado, mas não funcionou. Minha aplicação só precisa enviar um arquivo simples ou o conteúdo dele para um diretório Http.
GOSTEI 0
Thiago Santana
26/03/2015
Você adaptou a sua necessidade o código que te mandei?
Qual erro foi gerado?
Qual erro foi gerado?
GOSTEI 0
Mauricio
26/03/2015
Está dando um erro EIdSocketError que não sei do que se trata.
GOSTEI 0
Thiago Santana
26/03/2015
Erro estranho!
Deve ser algo relacionado a conexão. Posta seu código e marca o ponto em que o erro é gerado!
Deve ser algo relacionado a conexão. Posta seu código e marca o ponto em que o erro é gerado!
GOSTEI 0