Expand description
§file_type
§Getting Started
A file type. The file type is determined by examining the file or bytes against known file signatures and file extensions.
Signature, extension and media type data are provided by:
§Example
Detect a file type from bytes:
use file_type::FileType;
let file_type = FileType::from_bytes(b"\xCA\xFE\xBA\xBE");
assert_eq!(file_type.name(), "Java class file");
assert_eq!(file_type.extensions(), vec!["class"]);
Retrieve a file type from an extension:
use file_type::FileType;
let file_types = FileType::from_extension("png");
let file_type = file_types.first().expect("file format");
assert_eq!(file_type.media_types(), vec!["image/png"]);
Retrieve a file type from a media type:
use file_type::FileType;
let file_types = FileType::from_media_type("image/png");
let file_type = file_types.first().expect("file format");
assert_eq!(file_type.extensions(), vec!["png"]);
§Feature flags
Name | Description | Default? |
---|---|---|
httpd | Enables Apache HTTPD file types | No |
iana | Enables IANA file types | No |
linguist | Enables Linguist file types | No |
pronom | Enables PRONOM file types | No |
std | Enables support for the Rust standard library | Yes |
wikidata | Enables Wikidata file types | Yes |
§Supported File Types
§Safety
This crate uses #![forbid(unsafe_code)]
to ensure everything is implemented in 100% safe Rust.
Modules§
Structs§
- Error
- Errors that can occur when determining the file type
- File
Type - A file type. The file type is determined by examining the file or bytes against known file signatures and file extensions.
Type Aliases§
- Result
- File type result type