# FileType **Repository Path**: mirrors_jaywcjlove/FileType ## Basic Information - **Project Name**: FileType - **Description**: This tool checks a file’s MIME type using magic bytes and can retrieve the file extension from the MIME type. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-16 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Using my app is also a way to support me:
VidCrop Vidwall Mousio Hint Mousio Musicer Audioer FileSentinel FocusCursor Videoer KeyClicker DayBar Iconed RightMenu Master Quick RSS Quick RSS Web Serve Copybook Generator DevTutor for SwiftUI RegexMate Time Passage Iconize Folder Textsound Saver Create Custom Symbols DevHub Resume Revise Palette Genius Symbol Scribe

FileType === This tool detects a file’s MIME type using magic bytes and can retrieve the file extension based on the MIME type. It can identify the MIME type of `Data`, based on [Swime](https://github.com/sendyhalim/Swime) and ported from [file-type](https://www.npmjs.com/package/file-type). The [`Extensions`](./Sources/FileType/Supported.swift), [`mimeTypes`](./Sources/FileType/Supported.swift), and [`mimeTypesAll`](./Sources/FileType/Supported.swift) data in the dependency package are all generated by scripts based on [file-type](https://www.npmjs.com/package/file-type). The function for checking whether the bytes match the `MimeType` specification is generated from a [`mapping.js`](./scripts/mapping.js) mapping file created using data from the `file-type` package. Since the data may not always be accurate, it can be corrected by modifying the [`mapping.js`](./scripts/mapping.js) file. ## Installation ### Swift Package Manager Add CodeMirror to your project using Xcode: 1. In Xcode, go to `File` → `Add Package Dependencies...` 2. Enter the repository URL: `https://github.com/jaywcjlove/FileType.git` 3. Click `Add Package` Or add it to your `Package.swift` file: ```swift dependencies: [ .package(url: "https://github.com/jaywcjlove/FileType.git", from: "1.0.0") ] ``` ## Usage Inspect mime type ```swift 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 ```swift let avroMimeType = MimeType.mimeTypesAll.first { $0.mime == "application/avro" } if let avroMimeType = avroMimeType { avroMimeType.mime // "application/avro" avroMimeType.type // .avro avroMimeType.type.rawValue // "avro" } ``` ```swift 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.