• Categorias
  • Recente
  • Tags
  • Popular
Collapse

Como enviar arquivos usando post num webservice REST

Agendado Fixado Trancado Movido Outros
14 Posts 3 Posters 1508 Visualizações
    • Mais Antigo para Mais Recente
    • Mais Recente para Mais Antigo
    • Mais Votados
Responder
  • Responder como tópico
Entre para responder
Este tópico foi deletado. Apenas usuários com privilégios de moderação de tópico podem vê-lo.
  • C Offline
    C Offline
    carlos oliveira
    wrote on última edição por
    #1

    Ola

    estou com uma necessidade de enviar arquivos via post.

    o serviço seria consumido via curl da seguinte maneira:

    curl -k -X POST --header ""Authorization: Bearer <token>"" "<url>" -H "accept: /" -H "Content Type: multipart/form-data" -H "Titulo-Documento: Edital" -H "Tipo-Documento-Id: 2" -F "[email protected];type=application/pdf"

    outro servico seria:
    curl -k -X POST --header "Authorization: Bearer <token>" "<url>" -H "accept: /" -H "Content-Type: multipart/form-data" -H 'Titulo-Documento: nome_do_arquivo' -H 'Tipo-Documento-Id: 1' --form ‘compra=@”/home/objeto.json" ’ --form ‘documento=@”arquivo.pdf” ’

    como eu faço isto usando a funcao rest - consumir webservice.

    Grato

    Janpier dos SantosJ 1 Resposta Última resposta
    0
  • Janpier dos SantosJ Offline
    Janpier dos SantosJ Offline
    Janpier dos Santos
    replied to carlos oliveira on última edição por
    #2

    @carlos-oliveira Boa tarde.

    Você deve utilizar a função Enviar arquivo via POST.

    Só informar os parâmetros que a função precisa, já existe um tópico aqui no fórum.

    😊 😊

    C 1 Resposta Última resposta
    0
  • C Offline
    C Offline
    carlos oliveira
    replied to Janpier dos Santos on última edição por
    #3

    @janpier-dos-santos mas como eu mandaria os demais parametros? veja que no cabecalho vao varios parametros, e no form deverao ir dois parametros:

    opcao 1: --form ‘compra=@”/home/objeto.json" ’ --form ‘documento=@”arquivo.pdf” ’

    opcao 2: -F "[email protected];type=application/pdf"

    Janpier dos SantosJ 1 Resposta Última resposta
    0
  • Janpier dos SantosJ Offline
    Janpier dos SantosJ Offline
    Janpier dos Santos
    replied to carlos oliveira on última edição por
    #4

    @carlos-oliveira De acordo a documentação da função é passado um mapa com chave e valor do parâmetro.

    C 3 Respostas Última resposta
    0
  • C Offline
    C Offline
    carlos oliveira
    replied to Janpier dos Santos on última edição por
    #5

    @janpier-dos-santos obrigado. vou testar

    1 Resposta Última resposta
    0
  • C Offline
    C Offline
    carlos oliveira
    replied to Janpier dos Santos on última edição por
    #6

    @janpier-dos-santos fiz como vc orientou: !

    Captura de tela 2022-01-26 144358.png

    ao executar da o erro:

    {"timestamp":"2022-01-26T18:13:03.828+00:00","status":400,"error":"Bad Request","message":"Required request header 'Titulo-Documento' for method parameter type String is not present","path":"/pncp-api/v1/orgaos/01620744000171/compras/2022/1/arquivos"}

    Quando executo no curl:

    curl -X 'POST'
    'https://treina.pncp.gov.br/api/pncp/v1/orgaos/01620744000171/compras/2022/1/arquivos'
    -H 'accept: /'
    -H 'Titulo-Documento: doc,pdf'
    -H 'Tipo-Documento-Id: 1'
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI1NjFhMmUx...'
    -H 'Content-Type: multipart/form-data'
    -F '[email protected];type=application/pdf' -v

    funciona normalmente, veja o resultado:

    Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
    < HTTP/2 201
    < access-control-allow-origin: *
    < access-control-allow-methods: GET,PUT,POST,DELETE,OPTIONS
    < access-control-allow-credentials: true
    < access-control-allow-headers: Content-Type,Authorization,X-Requested-With,Content-Length,Accept,Origin,
    < location: https://treina.pncp.gov.br/api/pncp/v1/orgaos/01620744000171/compras/2022/1/arquivos/5
    < x-content-type-options: nosniff
    < x-xss-protection: 1; mode=block
    < cache-control: no-cache, no-store, max-age=0, must-revalidate
    < pragma: no-cache
    < expires: 0
    < x-frame-options: DENY
    < content-length: 0
    < date: Wed, 26 Jan 2022 18:05:37 GMT
    < strict-transport-security: max-age=15768000

    1 Resposta Última resposta
    0
  • C Offline
    C Offline
    carlos oliveira
    replied to Janpier dos Santos on última edição por
    #7

    @janpier-dos-santos

    corrigindo a imagem...

    Captura de tela 2022-01-26 151945.png

    Janpier dos SantosJ 1 Resposta Última resposta
    0
  • Janpier dos SantosJ Offline
    Janpier dos SantosJ Offline
    Janpier dos Santos
    replied to carlos oliveira on última edição por
    #8

    @carlos-oliveira Neste caso, o serviço precisa também que alguns parâmetros sejam definidos no cabeçalho da requisição. E essa função não tem essa funcionalidade.

    C 1 Resposta Última resposta
    1
  • C Offline
    C Offline
    carlos oliveira
    replied to Janpier dos Santos on última edição por
    #9

    @janpier-dos-santos seria complicado implementar isto?

    Janpier dos SantosJ 1 Resposta Última resposta
    0
  • Janpier dos SantosJ Offline
    Janpier dos SantosJ Offline
    Janpier dos Santos
    replied to carlos oliveira on última edição por
    #10

    @carlos-oliveira Bom dia.

    Acredito que não.

    C 1 Resposta Última resposta
    1
  • C Offline
    C Offline
    carlos oliveira
    replied to Janpier dos Santos on última edição por
    #11

    @janpier-dos-santos

    Eu tenho certa urgencia com isto.

    Como solicito isto formalmente a softwell? Abro uma chamada no suporte?

    Janpier dos SantosJ 1 Resposta Última resposta
    0
  • Janpier dos SantosJ Offline
    Janpier dos SantosJ Offline
    Janpier dos Santos
    replied to carlos oliveira on última edição por
    #12

    @carlos-oliveira Sim.

    1 Resposta Última resposta
    0
  • F Offline
    F Offline
    Fabrício E
    wrote on última edição por
    #13

    Boa tarde, estou com o mesmo problema que o Carlos, exatamente o mesmo serviço. Sabe me informar se já existe essa função funcionando?

    Janpier dos SantosJ 1 Resposta Última resposta
    0
  • Janpier dos SantosJ Offline
    Janpier dos SantosJ Offline
    Janpier dos Santos
    replied to Fabrício E on última edição por Janpier dos Santos
    #14

    @Fabrício-E, bom dia.

    Sim, a mesma função Enviar Arquivo via Post agora possui suporte a definição de parâmetros no cabeçalho.

    Cordialmente.

    1 Resposta Última resposta
    0

  • Login

  • Não tem uma conta? Cadastrar

  • Login or register to search.
  • Primeiro post
    Último post
0
  • Categorias
  • Recente
  • Tags
  • Popular
  • Login

  • Não tem uma conta? Cadastrar

  • Login or register to search.