METODO PUT EM UM WEB SERVICE

21/09/2017

0

OLÁ.
PRECISO ENVIAR UM ARQUIVO .TXT A UM WEB SERVICE(DE TERCEIRO).
COMO ISSO PODE SER FEITO?

ESTOU UTILIZANDO DELPHI SEATLE E RESTCLIENT;
Tiago

Tiago

Responder

Post mais votado

21/09/2017

Não seria o metodo POST?


Var F : TextFile;
    Arq : String;
    Response: TStringStream;
    XArquivo : TMemoryStream;
    Retorno : TStringStream;
    Protocolo : WideString;
    Status : String;
    I : Integer;
begin
   Response := TStringStream.Create('');
   Retorno := TStringStream.Create('');
   XArquivo := TMemoryStream.Create;
   //Carrega seu arquivo
   XArquivo.LoadFromFile(SeuArquivo.txt);
    IdHTTP.Request.CustomHeaders.Clear;
     IdHTTP.Request.Clear;
     IdHTTP.ConnectTimeout := 30000;
     idHTTP.OnAuthorization := IdHTTPAuthorization;
     IdHTTP.Request.ContentType := 'text/html';
     IdHTTP.Request.ContentEncoding := 'raw';
     IdHTTP.Request.Accept := 'text/htmll';
     IdHTTP.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; GTB5; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Maxthon; InfoPath.1; .NET CLR 3.5.30729; .NET CLR 3.0.30618)';

     IdHTTP.Request.URL := 'Endereco_url'
     IdHTTP.Request.Host := Endereco_url';
     //Se Precisar passar autorização 
     IdHTTP.Request.CustomHeaders.AddValue('Authorization', Token);

     if Tem_Proxy Then
     Begin
        IdHTTP.ProxyParams.ProxyPort := 3127;
        IdHTTP.ProxyParams.ProxyPassword := '******l';
        IdHTTP.ProxyParams.ProxyUsername := '******';
     end;

     Try
        screen.cursor := crSQLWait;

        IdHTTP.Post(Endereco_Url, XArquivo, Retorno);
        reResp.Text := UTF8Encode(Retorno.DataString);
     Except
        on E:EIdHTTPProtocolException do
        Begin
           Screen.Cursor := CrDefault;
           reResp.Text := UTF8Encode(e.ErrorMessage);
           KDialog(Mensagens(e.ErrorMessage),'Alerta','ERRO');
        end;
        on E:Exception do
        Begin
           //reResp.Clear;
           Screen.Cursor := CrDefault;
           reResp.Text := UTF8Encode(E.Message);
           IdHTTP.Disconnect;           
        end;
     end;

Dirceu Morais

Dirceu Morais
Responder

Mais Posts

22/09/2017

Tiago

Legal, deu pra realizar o que eu queria. Obrigado!!
Responder

22/09/2017

Dirceu Morais

Já recebi muita ajuda aqui no forum. Inclusive neste assunto.

Fico feliz em ter ajudado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar