Skip to main content

Pessoal tenho um cenário que eu preciso travar imagens do usuário e fiz isso na validação da variável. Só que além disso preciso que a palavra sair encerre a conversa e deu conflito.


Como vocês resolvem isso?

Essa variável só recebe imagens, mas precisa receber imagens e a palavra sair.


image


o sair está na condição de saída do bloco

Se igual SAIR vai para bloco encerrar.


Boa tarde @CamilaEspecio,


Tive um caso parecido tbm, aqui implementamos um script para a validação, segue o exemplo que implementação por aqui:


function run(input) {
var json = JSON.parse(input);

if(json.type == "image/jpeg" || json.type == "image/png"){
return true;
}
return false;
}

Em nosso caso, estamos apenas validando apenas imagem(jpeg ou png), mas vc poderia está validando outros tipos.


Espero ter ajudado em algo!


Hey @CamilaEspecio , bem?

Uma forma mais simples ainda de resolver isso é usando as condições de saída, diretamente…


Veja bem, sempre que um arquivo é enviado, o input.content retorna o tipo de arquivo, e isso pode ser usado nas condições de saída diretamente, ao invés de usar a validação de entrada.


Por exemplo, se eu enviar uma imagem, recebo de retorno em input.content:


{"type":"image/png","size":3854,"uri":"link_da_imagem","title":""}

Logo, se eu usar a condição de saída dessa forma aqui:


Vai acontecer de caso enviar alguma imagem, vai direcionar pro bloco “É media”, caso digitar “sair” vai pro bloco “Sair” caso contrário vai pra Exceções. Você pode substituir o exceções neste caso para um bloco que alerta onde só é possível enviar media ou digitar sair, retornando pra esse mesmo bloco.


Bem simples hein 😉


Caso queira testar o que eu fiz, segue: BLiP Chat


Opa pessoal obrigada e feliz ano novo, vou tentar as opções que vocês passaram e volto para dar feedback.


Opa pessoal obrigada e feliz ano novo, vou tentar as opções que vocês passaram.


Estou com dúvida ainda nessa parte.


image


a variável input.content@type


no caso eu coloco os tipos de arquivo que desejo receber? Exemplo: Jpeg, png etc?


Mandei a mídia e ele não aceitou por isso a pergunta acima.




Mídia volta, o sair funciona.


Bom dia @CamilaEspecio,


Acho que o erro está sendo na comparação na ‘condições de saída’, na sua validação está ‘imagem’ e seguindo o exemplo do @GabrielPetrone está ‘image’.


desconsiderar kkkkkk eu estava escrevendo imagem nos valores e não “image”. <3


Isso mesmo, obrigadaaa @Gabriel_Atene_Silva e @GabrielPetrone


Boaaa! Era isso mesmo.


O conceito por trás é o seguinte:

A chave type de input.content retorna o MIME Type do arquivo (a lista de MIME Types pode ser consultada aqui), portanto ao usar CONTÉM o valor image como uma condição de saída, você está dizendo que aceita qualquer arquivo de imagem pois ao enviar um PNG, o valor será: image/png, se fosse uma imagem em JPEG o valor retornado seria: image/jpeg.

Logo, informar apenas image vai permitir um escopo mais aberto para qualquer extensão, mas ainda sim será obrigatório enviar uma imagem.


Vamos trazer pra um outro escopo: eu quero permitir apenas arquivos no formato PNG. Para isso, basta colocar então a condição de CONTÉMpng. Ou então a condição IGUAL Àimage/png.


💡 Para concluir, esse conceito pode ser utilizado para qualquer tipo de arquivo (permitido) que você deseja validar no fluxo, utilizando os MIME Types 😉


Muito agradecida pela explicação, eu tinha entendido isso mesmo, só que você deu mais detalhes aí ficou bem claro 🙂


Comente