diff --git a/config/default.js b/config/default.js index 36b570e4..cc2ab118 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 88613118..1f0b9789 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([