7 releases
0.1.6 | Aug 11, 2024 |
---|---|
0.1.5 | Aug 11, 2024 |
#1723 in Parser implementations
98KB
2.5K
SLoC
rdcache
Rust version of mimetype
Features
- Detects MIME type based on the "magic bytes" of a file.
Example
Sync version
Add this to your Cargo.toml
:
[dependencies]
mimetype = "0.1.6"
Then you can use it like this:
fn main() {
let file = std::fs::read("test.jpg").unwrap();
let mime = mimetype::detect(&file);
println!("{:?}", mime);
}
or use reader
fn main() {
let file = std::fs::File::open("Cargo.toml").unwrap();
let mime = mimetype::detect(&file);
println!("{:?}", mime);
}
Async version
Add this to your Cargo.toml
:
[dependencies]
mimetype = { version = "0.1.6", features = ["async"] }
Then you can use it like this:
#[tokio::main]
async fn main() {
let file = tokio::fs::read("test.jpg").await.unwrap();
let mime = mimetype::detect_async(&file).await;
println!("{:?}", mime);
}
or use reader
#[tokio::main]
async fn main() {
let file = tokio::fs::File::open("test.jpg").await.unwrap();
let mime = mimetype::detect_async(&file).await;
println!("{:?}", mime);
}
The output will be like:
Mime { mime: "image/jpeg", aliases: [], extension: ".jpg" }
Dependencies
~2.2–8.5MB
~83K SLoC