diff --git a/src/handlers/proxy.rs b/src/handlers/proxy.rs index 0b188ab..b1bd6dd 100644 --- a/src/handlers/proxy.rs +++ b/src/handlers/proxy.rs @@ -21,9 +21,9 @@ pub async fn proxy_handler( // парсим GET запрос let (base_filename, requested_width, extension) = parse_image_request(&normalized_path); - - let filekey = format!("{}.{}", base_filename, extension); - let content_type = match extension.as_str() { + let ext = extension.to_lowercase(); + let filekey = format!("{}.{}", base_filename, &ext); + let content_type = match ext.as_str() { "jpg" | "jpeg" => "image/jpeg", "png" => "image/png", "webp" => "image/webp", @@ -54,7 +54,7 @@ pub async fn proxy_handler( // find closest thumb width let closest: u32 = find_closest_width(requested_width as u32); let thumb_filename = - &format!("{}_{}.{}", base_filename, closest, extension); + &format!("{}_{}.{}", base_filename, closest, ext); return match check_file_exists( &state.storj_client, @@ -164,9 +164,9 @@ async fn thumbdata_save( if content_type.starts_with("image") { warn!("original file name: {}", original_filename); let (base_filename, _, extension) = parse_image_request(&original_filename); - let filename = format!("{}.{}", base_filename, extension); - - warn!("file extension: {}", extension); + warn!("detected file extension: {}", extension); + let ext = extension.to_lowercase(); + let filename = format!("{}.{}", base_filename, ext); let img = match image::load_from_memory(&original_data) { Ok(img) => img, @@ -180,7 +180,7 @@ async fn thumbdata_save( match generate_thumbnails(&img).await { Ok(thumbnails_bytes) => { for (thumb_width, thumbnail) in thumbnails_bytes { - let thumb_filename = format!("{}_{}.{}", base_filename, thumb_width, extension); + let thumb_filename = format!("{}_{}.{}", base_filename, thumb_width, ext); // Загружаем миниатюру в S3 if let Err(e) = upload_to_s3( &state.storj_client,