IOS猜猜mime类型

时间:2018-05-30 13:22:51

标签: ios react-native mime-types

我正在开发的一个反应原生项目使用了一个名为react-native-background-upload的包。

其中一个本机模块使用这行代码来确定mimetype:

- (NSString *)guessMIMETypeFromFileName: (NSString *)fileName {
CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)[fileName pathExtension], NULL);
CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass(UTI, kUTTagClassMIMEType);
CFRelease(UTI);
if (!MIMEType) {
    return @"application/octet-stream";
}
return (__bridge NSString *)(MIMEType);
}

进入fileName值的输入是: ?资产库://asset/asset.JPG ID = A7F5245E-C08E-4FB5-B7BE-0AB689B16DC5&安培; EXT = JPG

然而,这始终返回“application / octet-stream”。它应该返回“image / jpeg”

我认为这个guessMIMETypeFromFileName功能已被破坏。

我不知道修复此问题的本机IOS代码。

1 个答案:

答案 0 :(得分:0)

尝试将[fileName pathExtension]替换为:

[[fileName pathExtension] componentsSeparatedByString:@"?"][0]