【发布时间】:2014-05-13 13:33:58
【问题描述】:
您好,我想从 iOS 中下载的文件中读取文件类型,该文件没有扩展名。
例如:http://somelink/2a3bc
它是一个有效的 pdf 文件。当我下载它时,它会在 url(NSURL) 处作为 NSData 流下载。如果我将其重命名为 2a3bc.pdf 它可以使用 UIDocumentInteractionController 进行预览,但是当我打开没有扩展名的 url 时,它不会将其识别为文件有效文件。 它的 UTI 变为 public.data
有什么方法可以从 NSData 读取文件类型并根据该文件重命名文件并使用 UIDocumentInteractionController 打开它。
问候, 南都艾哈迈德
【问题讨论】:
-
响应头会告诉你内容类型吗?
-
不,我已经使用 NSURLSessionDownloadTask 下载了它。响应头不存在
-
发布您的代码。顺便说一句,可以获得响应标头 - 请参阅 stackoverflow.com/questions/19547897/…
-
是的,我现在可以得到回复。如何将内容类型更改为 UTI 或扩展名。任何可用于将内容类型转换为 UTI 或扩展名的方法
-
谢谢,我可以读取文件属性
NSString *suggestedFileName = [downloadTask.response suggestedFilename]; CFStringRef mimeType = (CFStringRef)ContentTypeKey; CFStringRef uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassMIMEType, mimeType, NULL); CFStringRef extension = UTTypeCopyPreferredTagWithClass(uti, kUTTagClassFilenameExtension);
标签: ios nsurl file-extension