From 5da1acc38db757342068a17e651cccab9965a54e Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Sat, 12 Feb 2022 17:16:20 +0100 Subject: [PATCH] Added media resize. --- config/default.js | 2 ++ src/media.js | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/config/default.js b/config/default.js index 36b570e4a..cc2ab1183 100644 --- a/config/default.js +++ b/config/default.js @@ -320,6 +320,8 @@ module.exports = { }, media: { path: './media', + maxSize: 1000, + quality: 80, thumbnailSize: 320, // width for 16:9 will be exactly 576px thumbnailQuality: 100, lazySize: 90, diff --git a/src/media.js b/src/media.js index 886131189..1f0b97892 100644 --- a/src/media.js +++ b/src/media.js @@ -345,12 +345,13 @@ async function writeImage(image, media, info, filepath, isProcessed) { return; } - if (isProcessed) { - // convert to JPEG and write to permanent location - await image - .jpeg() - .toFile(path.join(config.media.path, filepath)); - } + await image + .resize({ + height: config.media.maxSize, + withoutEnlargement: true, + }) + .jpeg({ quality: config.media.quality }) + .toFile(path.join(config.media.path, filepath)); } async function writeThumbnail(image, thumbpath) { @@ -416,12 +417,14 @@ async function storeImageFile(media, hashDir, hashSubDir, filename, filedir, fil }); } + await writeImage(image, media, info, filepath, isProcessed); + await Promise.all([ - writeImage(image, media, info, filepath, isProcessed), writeThumbnail(image, thumbpath), writeLazy(image, lazypath), ]); + /* if (isProcessed) { // file already stored, remove temporary file await fsPromises.unlink(media.file.path); @@ -429,6 +432,9 @@ async function storeImageFile(media, hashDir, hashSubDir, filename, filedir, fil // image not processed, simply move temporary file to final location await fsPromises.rename(media.file.path, path.join(config.media.path, filepath)); } + */ + + await fsPromises.unlink(media.file.path); if (config.s3.enabled) { await Promise.all([