Swift - 获取文件的MIMEType类型(根据后缀名自动获取)
作者:hangge | 2018-11-15 08:10
有时我们需要获得文件的 MIMEType(文件资源类型),比如上传时需要将文件资源类型传给服务器,这样服务器就可以判断文件是图片还是音视频等。
下面通过样例进行演示如何借助苹果自带的 MobileCoreServices 库来获取文件类型的 mimeType。
1,样例代码
方便使用,这里我们定义一个 mimeType(pathExtension:) 方法,只需传入后缀名即可返回对应的 mimeType。
import UIKit import MobileCoreServices class ViewController: UIViewController { override func viewDidLoad() { //测试1 let mimeType1 = mimeType(pathExtension: "gif") print(mimeType1) //测试2 let path = Bundle.main.path(forResource: "test1", ofType: "zip")! let url = URL(fileURLWithPath: path) let mimeType2 = mimeType(pathExtension: url.pathExtension) print(mimeType2) } //根据后缀获取对应的Mime-Type func mimeType(pathExtension: String) -> String { if let uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension as NSString, nil)?.takeRetainedValue() { if let mimetype = UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType)? .takeRetainedValue() { return mimetype as String } } //文件资源类型如果不知道,传万能类型application/octet-stream,服务器会自动解析文件类 return "application/octet-stream" } }
全部评论(0)