Function infer::get_from_path
source · pub fn get_from_path<P: AsRef<Path>>(path: P) -> Result<Option<Type>>
Expand description
Returns the file type of the file given a path.
Errors
Returns an error if we fail to read the path.
Examples
let kind = infer::get_from_path("testdata/sample.jpg")
.expect("file read successfully")
.expect("file type is known");
assert_eq!(kind.mime_type(), "image/jpeg");
assert_eq!(kind.extension(), "jpg");
Examples found in repository?
examples/file.rs (line 14)
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
fn main() {
let mut args = args();
let path = match args.nth(1) {
Some(path) => path,
None => {
eprintln!("Please specify the file path");
exit(1);
}
};
match infer::get_from_path(path) {
Ok(Some(info)) => {
println!("Through the arcane magic of this crate we determined the file type to be");
println!("mime type: {}", info.mime_type());
println!("extension: {}", info.extension());
}
Ok(None) => {
eprintln!("Unknown file type 😞");
eprintln!("If you think infer should be able to recognize this file type open an issue on GitHub!");
exit(1);
}
Err(e) => {
eprintln!("Looks like something went wrong 😔");
eprintln!("{}", e);
exit(1);
}
}
}