jaywcjlove/filetype
FileType
Installation
Swift Package Manager
Add CodeMirror to your project using Xcode:
- In Xcode, go to
File→Add Package Dependencies... - Enter the repository URL:
https://github.com/jaywcjlove/FileType.git - Click
Add Package
Or add it to your Package.swift file:
dependencies: [
.package(url: "https://github.com/jaywcjlove/FileType.git", from: "1.0.0")
]Usage
Inspect mime type
import FileType
let path = "/path/to/some-file.jpg"
let url = URL(fileURLWithPath: path, isDirectory: false)
let data = try! Data(contentsOf: url)
let mimeType = FileType.mimeType(data: data)
mimeType?.type == .jpg // true
mimeType! // MimeType(mime: "image/jpeg", ext: "jpg", type: .jpg)Get the file extension from a MIME type
let avroMimeType = MimeType.mimeTypesAll.first { $0.mime == "application/avro" }
if let avroMimeType = avroMimeType {
avroMimeType.mime // "application/avro"
avroMimeType.type // .avro
avroMimeType.type.rawValue // "avro"
}let mimeTypes = MimeType.mimeTypes.first(where: { $0.key == "application/mp4" })
if let mimeTypes = mimeTypes {
mimeTypes.compressible
mimeTypes.extensions // ["mp4","mpg4","mp4s","m4p"]
}Acknowledgments
Thanks to these projects:
- https://github.com/sendyhalim/Swime
- https://github.com/sindresorhus/file-type
- https://github.com/jshttp/mime-db
License
Licensed under the MIT License.
Package Metadata
Repository: jaywcjlove/filetype
Default branch: main
README: README.md