美文网首页
通过 文件路径/文件名/文件后缀 获取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