Как получить тип содержимого (тип MIME) из байта [] или Base64String в C#? (Asp.Net Core)Получить тип контента из байта [] в C#
Мой веб-api получает файл, отправленный в объект JSON. Файл закодирован в Base64String. Мой первый шаг состоял в том, чтобы преобразовать эту base64string в массив байтов, а затем выполнить проверки. Одна из валидаций - проверить, является ли это допустимым файлом. Для этого мне нужно проверить его тип содержимого.
private bool validateContent (byte[] content) {
//Get mime content type from content
}
'Content-type' должны быть отправлены в качестве заголовка. Это не будет в самих данных. Как выглядит ваш объект JSON? –
@DanWilson: Я думаю, он хочет получить mimetype из любых данных, отправленных в виде байта (например, двоичные файлы, такие как excel xlsx, xls, изображения и не доверять тому, что клиент отправляет и т. Д.), То есть часто его общее, что клиент отправляет заархивированные файлы как «application/octet-stream», как некоторые почтовые клиенты, которые ничего не говорят о том, какой тип это действительно есть) – Tseng
Я знаю, и я говорю, что это невозможно из потока байтов, если вы не хотите сканировать маркеры типов файлов в данные, которые ненадежны и подвержены ошибкам. http://stackoverflow.com/questions/1654846/in-c-how-can-i-know-the-file-type-from-a-byte –