From 273c014ba801f27a37d6e2ff1590bf1527a054fa Mon Sep 17 00:00:00 2001 From: toshi-pono <66683209+toshi-pono@users.noreply.github.com> Date: Tue, 28 Dec 2021 23:50:23 +0900 Subject: [PATCH] =?UTF-8?q?upload=E3=82=82webp=E3=81=AB=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/src/converters/convert_image.js | 10 ++++++++++ server/src/routes/api/image.js | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/server/src/converters/convert_image.js b/server/src/converters/convert_image.js index 4ad26c2ae..c9c391c92 100644 --- a/server/src/converters/convert_image.js +++ b/server/src/converters/convert_image.js @@ -9,6 +9,16 @@ import sharp from 'sharp'; * @returns {Promise} */ async function convertImage(buffer, options) { + if (options.extension === 'webp') { + return sharp(buffer) + .resize({ + fit: 'cover', + height: options.height, + width: options.width, + }) + .webp({ lossless: true }) + .toBuffer(); + } return sharp(buffer) .resize({ fit: 'cover', diff --git a/server/src/routes/api/image.js b/server/src/routes/api/image.js index 214d5980e..1690fee4b 100644 --- a/server/src/routes/api/image.js +++ b/server/src/routes/api/image.js @@ -9,7 +9,7 @@ import { convertImage } from '../../converters/convert_image'; import { UPLOAD_PATH } from '../../paths'; // 変換した画像の拡張子 -const EXTENSION = 'jpg'; +const EXTENSION = 'webp'; const router = Router(); @@ -29,7 +29,7 @@ router.post('/images', async (req, res) => { // 画像の縦サイズを指定する (undefined は元画像に合わせる) height: undefined, // 画像の横サイズを指定する (undefined は元画像に合わせる) - width: undefined, + width: 600, }); const filePath = path.resolve(UPLOAD_PATH, `./images/${imageId}.${EXTENSION}`);