Assumindo o upload do ASP.NET e do formulário, alguma maneira de garantir que o arquivo seja uma imagem?
-
20-09-2019 - |
Pergunta
Existe alguma maneira de saber se o arquivo é uma imagem através do tipo MIME ou de outra maneira de inspeção? As imagens estão entrando em uma galeria e as redimensionarei conforme necessário e querer garantir, da melhor maneira possível, que o arquivo que estou prestes a processar com o GDI é, de fato, uma imagem.
Solução
Tente carregar o arquivo em um Bitmap objeto. Se você tiver uma exceção, não será uma imagem.
Outras dicas
Confira esta pergunta/resposta em Stackoverflow e Este. Eu acredito que esta é uma pergunta duplicada.
Além disso, veja a leitura de um arquivo número mágico Especialmente se você estiver apenas tentando determinar se o arquivo é um dos poucos tipos aceitáveis. Magic Number Wikipedia
Sim, você pode verificar a propriedade FileUploadctrl.postedfile.contentType e comparar essa string com uma lista esperada de tipos de imagens MIME, IE Imagem/GIF. Você também pode executar validação adicional carregando os bytes de imagem carregados em um objeto System.Drawing.image. Se carregar, você sabe que você tem uma boa imagem, se não carregar, talvez a imagem seja uma falsificação ou um formato desconhecido.