Crates.io | mime2ext |
lib.rs | mime2ext |
version | 0.1.53 |
source | src |
created_at | 2021-02-12 23:00:41.499259 |
updated_at | 2024-08-16 17:18:24.601664 |
description | Given a mimetype, suggest a file extension |
homepage | |
repository | https://github.com/blyxxyz/mime2ext |
max_upload_size | |
id | 354403 |
size | 88,498 |
A simple compact crate to look up a file extension for a mime type.
It embeds part of the mime-db
database, packed efficiently into around 20 KiB. There are no dependencies, and it's no_std
-compatible.
use mime2ext::mime2ext;
assert_eq!(mime2ext("image/png"), Some("png"));
assert_eq!(mime2ext("application/octet-stream"), Some("bin"));
assert_eq!(mime2ext("text/html; charset=UTF-8"), Some("html"));
assert_eq!(mime2ext("nonexistent/mimetype"), None);
assert_eq!(mime2ext("invalid-mimetype"), None);
mime
mime
's Mime
type is supported through its implementation of AsRef<str>
, without any dependency on the crate:
use mime::{Mime, TEXT_PLAIN};
use mime2ext::mime2ext;
assert_eq!(mime2ext(TEXT_PLAIN), Some("txt"));
let mime: Mime = "text/xml; charset=latin1".parse()?;
assert_eq!(mime2ext(&mime), Some("xml"));
mime2ext
includes a static version of mime-db
. A new version of mime2ext
has to be released for each new version of mime-db
.
mime2ext
's version number tracks that of mime-db
. mime2ext
version 0.1.49 corresponds to mime-db
version 1.49.0.
See CHANGELOG.md
for differences between versions, including relevant changes to mime-db
.
Both mime2ext
and mime-db
are licensed under the MIT license. See LICENSE
and mime-db/LICENSE
.
mime_guess
, which mainly converts in the opposite direction. It can also convert mime types to extensions but often suggests rarely-used extensions, like jpe
for image/jpeg
.