we know that we can get the file's MIME TYPE from the file's extension,but it's not exactly.for example we changed the file's extension and we will get the wrong mime type.
and also we know the way that get the mime type by a file signature in C#,(using the urlmon.dll Using .NET, how can you find the mime type of a file based on the file signature not the extension ,my question is that how can we get the exact mime type in IOS,no matter the file's extension is changed by someone,we can getthe right mime type.
thank you for your attention~!
Would you tell me how I get the right mime type exactly when I get a
path of a file.
iOS uses the concept of Uniform Type Identifiers (UTI) to handle document types.
NSString *path; // contains the file path
// Get the UTI from the file's extension:
CFStringRef pathExtension = (__bridge_retained CFStringRef)[path pathExtension];
CFStringRef type = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension, NULL);
CFRelease(pathExtension);
// The UTI can be converted to a mime type:
NSString *mimeType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass(type, kUTTagClassMIMEType);
if (type != NULL)
CFRelease(type);
You should consider using UTIs for your purpose directly instead of converting them to the less powerful mime type.