diff --git a/src/data/http_request_handler.rs b/src/data/http_request_handler.rs index 8dafbad..a181a8b 100644 --- a/src/data/http_request_handler.rs +++ b/src/data/http_request_handler.rs @@ -5,7 +5,7 @@ use std::str::FromStr; use actix_web::{HttpRequest, HttpResponse, web}; use actix_web::http::{HeaderName, HeaderValue}; use bytes::Bytes; -use image::ImageFormat; +use image::{GenericImageView, ImageFormat}; use serde::Serialize; use crate::api_data::http_error::HttpError; @@ -281,8 +281,11 @@ impl HttpRequestHandler { // Load image let file = self.post_file(name)?; - let image = image::load_from_memory(file.buff.as_ref())?; - let image = image.resize(max_w, max_h, image::imageops::FilterType::Nearest); + let mut image = image::load_from_memory(file.buff.as_ref())?; + + if image.width() > max_w || image.height() > max_h { + image = image.resize(max_w, max_h, image::imageops::FilterType::Nearest); + } // Determine image destination