convert-jpeg
Some checks failed
deploy / deploy (push) Failing after 6s

This commit is contained in:
Untone 2024-11-13 09:00:11 +03:00
parent dc543af525
commit b173a52cf4
3 changed files with 14 additions and 9 deletions

View File

@ -1,5 +1,8 @@
FROM rust AS build FROM rust AS build
RUN uname -a
RUN cat /etc/os-release # print ubuntu version
# had to add this for open-ssl # had to add this for open-ssl
RUN apt-get update -y && \ RUN apt-get update -y && \
apt-get install -y git pkg-config make g++ libssl-dev wget \ apt-get install -y git pkg-config make g++ libssl-dev wget \

View File

@ -35,9 +35,14 @@ pub async fn proxy_handler(
"png" => "image/png", "png" => "image/png",
"webp" => "image/webp", "webp" => "image/webp",
"gif" => "image/gif", "gif" => "image/gif",
"jfif" => "image/jpeg", "heic" | "heif" | "tiff" | "tif" => {
// Для HEIC и TIFF файлов мы всё равно будем отдавать оригинальный content-type,
// но при сохранении миниатюр они будут конвертированы в JPEG
match ext.as_str() {
"heic" | "heif" => "image/heic", "heic" | "heif" => "image/heic",
"tif" | "tiff" => "image/tiff", _ => "image/tiff"
}
},
"mp3" => "audio/mpeg", "mp3" => "audio/mpeg",
"wav" => "audio/x-wav", "wav" => "audio/x-wav",
"ogg" => "audio/ogg", "ogg" => "audio/ogg",

View File

@ -103,12 +103,9 @@ fn determine_image_format(extension: &str) -> Result<ImageFormat, actix_web::Err
"jpg" | "jpeg" => Ok(ImageFormat::Jpeg), "jpg" | "jpeg" => Ok(ImageFormat::Jpeg),
"png" => Ok(ImageFormat::Png), "png" => Ok(ImageFormat::Png),
"gif" => Ok(ImageFormat::Gif), "gif" => Ok(ImageFormat::Gif),
"bmp" => Ok(ImageFormat::Bmp),
"ico" => Ok(ImageFormat::Ico),
"tiff" | "tif" => Ok(ImageFormat::Tiff),
"webp" => Ok(ImageFormat::WebP), "webp" => Ok(ImageFormat::WebP),
"heic" | "heif" => { "heic" | "heif" | "tiff" | "tif" => {
// Для HEIC мы будем конвертировать в JPEG при сохранении // Конвертируем HEIC и TIFF в JPEG при сохранении
Ok(ImageFormat::Jpeg) Ok(ImageFormat::Jpeg)
}, },
_ => { _ => {
@ -135,7 +132,7 @@ pub async fn thumbdata_save(
// Определяем выходной формат // Определяем выходной формат
let output_ext = match ext.as_str() { let output_ext = match ext.as_str() {
"heic" | "heif" => "jpg", // Конвертируем HEIC в JPEG "heic" | "heif" | "tiff" | "tif" => "jpg", // Конвертируем HEIC и TIFF в JPEG
_ => &ext _ => &ext
}; };