Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS猜测mime类型_Ios_React Native_Mime Types - Fatal编程技术网

IOS猜测mime类型

IOS猜测mime类型,ios,react-native,mime-types,Ios,React Native,Mime Types,我正在处理的一个react native项目使用了一个名为react native background upload的包 其中一个本机模块使用这行代码来确定mimetype: - (NSString *)guessMIMETypeFromFileName: (NSString *)fileName { CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge C

我正在处理的一个react native项目使用了一个名为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);
}
输入文件名值的输入为: 资产-library://asset/asset.JPG?id=A7F5245E-C08E-4FB5-B7BE-0AB689B16DC5&ext=JPG

然而,这总是返回“应用程序/八位字节流”。它应该返回“image/jpeg”

我想这个猜测类型FromFileName功能被破坏了


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

尝试将
[fileName pathExtension]
替换为:

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

我认为你最好把问号和它背后的一切都从地图上去掉filename@dentemm不知道如何在objc中实现这一点。在将JavaScript代码发送到本机模块之前,是否有可能更改其文件名?否则,我将提供一个objc片段来解析url
assets-library://asset/asset.JPG?id=A7F5245E-C08E-4FB5-B7BE-0AB689B16DC5&ext=JPG
不是文件名。这是一个URL。