我正在开发的一个反应原生项目使用了一个名为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代码。
答案 0 :(得分:0)
尝试将[fileName pathExtension]
替换为:
[[fileName pathExtension] componentsSeparatedByString:@"?"][0]