From 30c463e0ba6637ac37dd755c8502aebd27881d97 Mon Sep 17 00:00:00 2001 From: link2xt Date: Mon, 3 May 2021 01:55:37 +0300 Subject: [PATCH] Add extension to avatars base64-encoded in headers --- src/mimeparser.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mimeparser.rs b/src/mimeparser.rs index 14582d12c..97e4fde5b 100644 --- a/src/mimeparser.rs +++ b/src/mimeparser.rs @@ -515,7 +515,18 @@ impl MimeMessage { { // Avatar sent directly in the header as base64. if let Ok(decoded_data) = avatar { - match BlobObject::create(context, "avatar", &decoded_data).await { + let extension = if let Ok(format) = image::guess_format(&decoded_data) { + if let Some(ext) = format.extensions_str().first() { + format!(".{}", ext) + } else { + String::new() + } + } else { + String::new() + }; + match BlobObject::create(context, format!("avatar{}", extension), &decoded_data) + .await + { Ok(blob) => Some(AvatarAction::Change(blob.as_name().to_string())), Err(err) => { warn!(