gpt4 book ai didi

iphone - 文件没有扩展名时如何获取文件UTI?

转载 作者:可可西里 更新时间:2023-11-01 04:54:50 35 4
gpt4 key购买 nike

即使没有文件扩展名,有没有办法找出文件 UTI(统一类型标识符)?

现在我是这样获取的,当文件有一个扩展名时:

CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (CFStringRef)[file pathExtension], NULL);

我在网上找到了这个旨在在 Mac 上执行的代码段。但我在 iOS 中:

CFStringRef typeString = UTCreateStringForOSType(outInfo.filetype);
itemUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, typeString, NULL);
CFRelease( typeString );

注意:outInfo 是 iOS 中不存在的 LSItemInfoRecord 类型。

最佳答案

识别没有扩展名和其他元数据的文件的唯一方法是查看其内容并根据内容识别文件。

如果它是一个图像文件,那么它通常以一些魔术字符串开头,将其标识为 JPEG、PNG 等。您也可以尝试将其作为图像打开并查看它是否有效。

但是对于文本文件,该方法不起作用,因为文本文件可以包含任何内容。如果您对文件中的文本有所了解,您可以将其作为字符串打开,然后在该字符串中搜索该文本。如果没有,您可以只从字典中查找单词,然后假设它是包含合理数量的字典单词的文本。

如果没有扩展名,您最好只要求用户识别文件类型 - 这样更容易也更可靠。

关于iphone - 文件没有扩展名时如何获取文件UTI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6130634/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com