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