美文网首页
通过 文件路径/文件名/文件后缀 获取mimeType(文件媒

通过 文件路径/文件名/文件后缀 获取mimeType(文件媒

作者: 演繹陌路人生 | 来源:发表于2020-01-07 13:18 被阅读0次
import MobileCoreServices

extension String {
    
    /// 通过 文件路径/文件名/文件后缀 获取mimeType(文件媒体类型)
    /// 需要导入 MobileCoreServices
    var mimeType: String {
        // 通用的二进制类型
        let defaultMIMEType = "application/octet-stream"
        
        // 获取文件名后缀标记
        guard let tag = components(separatedBy: "/").last?
            .components(separatedBy: ".").last?
            .trimmingCharacters(in: .whitespacesAndNewlines) else { return defaultMIMEType }
        
        // 异常则返回 二进制通用类型
        guard let uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, tag as CFString, nil)?.takeRetainedValue(),
            let mimeType = UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType)?.takeRetainedValue()
            else { return defaultMIMEType }
        
        return mimeType as String
    }
}

相关文章

网友评论

      本文标题:通过 文件路径/文件名/文件后缀 获取mimeType(文件媒

      本文链接:https://www.haomeiwen.com/subject/kjuractx.html