Как проверить тип mime/ внутренний тип mime
Есть случай в загрузке файла,у меня есть файл изображения, и я загружаю его в порядке , а в другом случае нужно изменить расширение .exe на png /jpeg, тогда как мы можем проверить этот файл в этом случае.
Что я уже пробовал:
HttpPostedFile file = FileUpload1.PostedFile; byte[] document = new byte[file.ContentLength]; file.InputStream.Read(document, 0, file.ContentLength); System.UInt32 mimetype; FindMimeFromData(0, null, document, 256, null, 0, out mimetype, 0); System.IntPtr mimeTypePtr = new IntPtr(mimetype); string mime = Marshal.PtrToStringUni(mimeTypePtr); Marshal.FreeCoTaskMem(mimeTypePtr); if (mime == "application/pdf") { // upload the File because file is valid // and checking other file type Response.Write("This is Valid File"); } else { // file is Invalid Response.Write("This is Invalid File"); }
Mike Hankey
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
Взгляните на этот сайт для получения списка типов mime.
MadMyche
В тех случаях, когда он не работает, что возвращает "FindMimeFromData"?