diff --git a/src/utils/mime.rs b/src/utils/mime.rs index bd4988a..a566cdf 100644 --- a/src/utils/mime.rs +++ b/src/utils/mime.rs @@ -17,30 +17,7 @@ pub fn get_file_extension(mime_type: &mime::Mime) -> String { } pub fn get_mime_type_from_file_name(file_name: &str) -> mime::Mime { - let extension = file_name.rsplit('.').next().unwrap_or(""); - - match extension.to_lowercase().as_str() { - "jpg" | "jpeg" => mime::IMAGE_JPEG, - "png" => mime::IMAGE_PNG, - "gif" => mime::IMAGE_GIF, - "webp" => "image/webp".parse().unwrap(), - "svg" => mime::IMAGE_SVG, - "tiff" | "tif" => "image/tiff".parse().unwrap(), - "bmp" => "image/bmp".parse().unwrap(), - "heic" | "heif" => "image/heic".parse().unwrap(), - "avif" => "image/avif".parse().unwrap(), - "pdf" => "application/pdf".parse().unwrap(), - "txt" | "log" => mime::TEXT_PLAIN, - "csv" => mime::TEXT_CSV, - "json" => mime::APPLICATION_JSON, - "xml" => "application/xml".parse().unwrap(), - "html" | "htm" => mime::TEXT_HTML, - "md" | "markdown" => "text/markdown".parse().unwrap(), - "yaml" | "yml" => "application/yaml".parse().unwrap(), - "toml" => "application/toml".parse().unwrap(), - "rs" | "py" | "js" | "ts" | "go" | "c" | "cpp" | "h" | "java" | "rb" | "sh" | "css" => { - mime::TEXT_PLAIN - } - _ => mime::APPLICATION_OCTET_STREAM, - } + mime_guess::from_path(file_name) + .first() + .unwrap_or(mime::APPLICATION_OCTET_STREAM) }