Expand description
§file_type
FileType
§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: The National Archives PRONOM Apache HTTPD Linguist
§Example
Detect a Java class file 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.media_types(), Vec::<String>::new());
assert_eq!(file_type.extensions(), vec!["class"]);
Detect text from bytes:
use file_type::FileType;
let file_type = FileType::from_bytes(b"hello, world\n");
assert_eq!(file_type.name(), "Text");
assert_eq!(file_type.media_types(), vec!["text/plain"]);
assert_eq!(file_type.extensions(), Vec::<String>::new());
§Safety
This crate uses #![forbid(unsafe_code)]
to ensure everything is implemented in 100% safe Rust.
Modules§
Structs§
- A file type. The file type is determined by examining the file or bytes against known file signatures and file extensions.
Enums§
- Errors that can occur when determining the file type
Type Aliases§
- File type result type