Preciso de uma ajudinha, estou tentando fazer algumas requisições com API, uma delas é enviar um arquivo, de acordo com a documentação, precisa estar nesse formato: multipart/form-data. Eu não sei como enviar o arquivo via API, como posso fazer, alguém já fez algo parecido e consiga me compartilhar como é feito?
Basicamente o usuário irá anexar um arquivo, e esse arquivo será enviado através da API Exemplo Value:
Olá! 😄 Abaixo compartilho com a comunidade a resolução do time de Suporte, caso outros membros tenham a mesma dúvida ou necessidade:
Para enviar um arquivo via API utilizando o formato multipart/form-data, você deve seguir alguns passos específicos. Aqui estão as instruções que podem te ajudar:
1. Configuração do Corpo da Requisição:
O corpo da requisição deve incluir o arquivo que você deseja enviar. Se você já tem a URL do arquivo (como {{input.content@uri}}), você deve garantir que está utilizando essa variável corretamente no corpo da requisição.
2. Exemplo de Estrutura:
A estrutura do corpo da requisição deve ser algo como: json { "file": "URL_DO_SEU_ARQUIVO", "invisibleForCaller": true, "description": "Descrição do arquivo" }
Aqui, substitua URL_DO_SEU_ARQUIVO pela variável que contém a URL do seu arquivo.
3. Cabeçalhos Necessários:
Certifique-se de que os cabeçalhos da sua requisição estejam configurados corretamente, especialmente o Content-Type, que deve ser definido como multipart/form-data.
4. Exemplo de Código:
Se você estiver utilizando JavaScript com fetch, o código pode se parecer com isto (apenas exemplo):
const formData = new FormData(); formData.append('file', fileInput.files[0]); // fileInput é o elemento de entrada do arquivo
Após enviar a requisição, você pode tratar a resposta para verificar se o upload foi bem-sucedido.
Hoje as bibliotecas do blip ainda não permitem as requisições de APIs dentro da ação Executar Script. As chamadas de API precisam ser feitas com o uso da ação Requisição HTTP. Já em relação ao envio de um arquivo via API (multipart/form-data) é preciso utilizar o Header - application/x-www-form-urlencoded para que o Body possa aceitar multipart/form-data.
A solução então é divida em duas partes:
Criar com uso da ação de Executar script o código que será utilizado no Body da requisição e salvar o conteúdo em uma variável;
Usar a requisição HTTP para enviar a requisição, informando a variável no campo Body.
Quando recebemos arquivos (pdf, jpeg, etc), a Blip salva esse documento em uma url que vc pode acessar através da variável {{input.content@uri}}. O que você precisará fazer é enviar essa url para a sua API, e na sua API vc deve receber essa url, baixar o arquivo e salvar no seu banco de dados.
Lembrando que é bom vc validar se o tipo enviado pelo seu cliente é um arquivo, imagem, etc para não enviar “undefined” para sua API. Você pode validar o tipo através da variavel {{input.content@type}} ou {{input.type}}.
Quando recebemos arquivos (pdf, jpeg, etc), a Blip salva esse documento em uma url que vc pode acessar através da variável {{input.content@uri}}. O que você precisará fazer é enviar essa url para a sua API, e na sua API vc deve receber essa url, baixar o arquivo e salvar no seu banco de dados.
Lembrando que é bom vc validar se o tipo enviado pelo seu cliente é um arquivo, imagem, etc para não enviar “undefined” para sua API. Você pode validar o tipo através da variavel {{input.content@type}} ou {{input.type}}.
Bomm diaa, tudo blz sim e com você ??
Muito obrigado por essas informações, não tinha conhecimento sobre essas variáveis. Lhe agradeço Lucas.
Parece que os membros da comunidade não conseguiram te ajudar nessa dúvida. Mas não se preocupe, acabei de compartilhar a sua necessidade com o time de Suporte técnico via ticket para que possam analisar. Em breve entrarão em contato com você via e-mail!
Ah, quando o chamado for concluído fique à vontade para compartilhar a solução aqui nos comentários. Assim você estará ajudando caso outros membros tenham essa mesma dúvida. 😉
Olá! 😄 Abaixo compartilho com a comunidade a resolução do time de Suporte, caso outros membros tenham a mesma dúvida ou necessidade:
Para enviar um arquivo via API utilizando o formato multipart/form-data, você deve seguir alguns passos específicos. Aqui estão as instruções que podem te ajudar:
1. Configuração do Corpo da Requisição:
O corpo da requisição deve incluir o arquivo que você deseja enviar. Se você já tem a URL do arquivo (como {{input.content@uri}}), você deve garantir que está utilizando essa variável corretamente no corpo da requisição.
2. Exemplo de Estrutura:
A estrutura do corpo da requisição deve ser algo como: json { "file": "URL_DO_SEU_ARQUIVO", "invisibleForCaller": true, "description": "Descrição do arquivo" }
Aqui, substitua URL_DO_SEU_ARQUIVO pela variável que contém a URL do seu arquivo.
3. Cabeçalhos Necessários:
Certifique-se de que os cabeçalhos da sua requisição estejam configurados corretamente, especialmente o Content-Type, que deve ser definido como multipart/form-data.
4. Exemplo de Código:
Se você estiver utilizando JavaScript com fetch, o código pode se parecer com isto (apenas exemplo):
const formData = new FormData(); formData.append('file', fileInput.files[0]); // fileInput é o elemento de entrada do arquivo
Após enviar a requisição, você pode tratar a resposta para verificar se o upload foi bem-sucedido.
Hoje as bibliotecas do blip ainda não permitem as requisições de APIs dentro da ação Executar Script. As chamadas de API precisam ser feitas com o uso da ação Requisição HTTP. Já em relação ao envio de um arquivo via API (multipart/form-data) é preciso utilizar o Header - application/x-www-form-urlencoded para que o Body possa aceitar multipart/form-data.
A solução então é divida em duas partes:
Criar com uso da ação de Executar script o código que será utilizado no Body da requisição e salvar o conteúdo em uma variável;
Usar a requisição HTTP para enviar a requisição, informando a variável no campo Body.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
A analisar o ficheiro em busca de vírus
Lamentamos, mas ainda estamos a analisar o conteúdo deste ficheiro, a fim de nos certificarmos de que o mesmo é seguro para descarregar. Agradecemos que tentes de novo dentro de poucos minutos.