Предполагая ASP.NET и загрузку формы, есть ли способ убедиться, что файл является изображением?
-
20-09-2019 - |
Вопрос
Есть ли способ определить, является ли файл изображением, с помощью типа MIME или другого способа проверки?Изображения попадают в галерею, и я буду изменять их размер по мере необходимости и хочу, насколько это возможно, убедиться, что файл, который я собираюсь обработать с помощью GDI, на самом деле является изображением.
Решение
Попробуйте загрузить файл в Битовая карта объект.Если вы получаете исключение, то это не изображение.
Другие советы
Ознакомьтесь с этим вопросом/ответом на переполнение стека и Вот этот.Я считаю, что это повторяющийся вопрос.
Кроме того, изучите чтение файла магическое число особенно если вы просто пытаетесь определить, является ли файл одним из нескольких приемлемых типов. Магическое число в Википедии
Да, вы можете проверить свойство fileUploadCtrl.PostedFile.ContentType и сравнить эту строку с ожидаемым списком типов изображений MIME, т.е.изображение/гиф.Вы также можете выполнить дополнительную проверку, загрузив загруженные байты изображения в объект System.Drawing.Image.Если оно загружается, вы знаете, что у вас хорошее изображение, если оно не загружается, возможно, это подделка или неизвестный формат.