From 78c80a5fea12bb5cb26dc9d8f553f672ff279307 Mon Sep 17 00:00:00 2001 From: daniel31x13 Date: Sat, 29 Jun 2024 17:54:31 -0400 Subject: [PATCH] bug fixed --- lib/api/generatePreview.ts | 54 +++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/lib/api/generatePreview.ts b/lib/api/generatePreview.ts index c3d24df..2693be2 100644 --- a/lib/api/generatePreview.ts +++ b/lib/api/generatePreview.ts @@ -8,33 +8,39 @@ const generatePreview = async ( linkId: number ) => { if (buffer && collectionId && linkId) { - // Load the image using Jimp - await Jimp.read(buffer, async (err, image) => { - if (image && !err) { - image?.resize(1280, Jimp.AUTO).quality(20); - const processedBuffer = await image?.getBufferAsync(Jimp.MIME_JPEG); + try { + const image = await Jimp.read(buffer); - if ( - Buffer.byteLength(processedBuffer) > - 1024 * 1024 * Number(process.env.PREVIEW_MAX_BUFFER || 0.1) - ) - return console.log("Error generating preview: Buffer size exceeded"); - - await createFile({ - data: processedBuffer, - filePath: `archives/preview/${collectionId}/${linkId}.jpeg`, - }); - - await prisma.link.update({ - where: { id: linkId }, - data: { - preview: `archives/preview/${collectionId}/${linkId}.jpeg`, - }, - }); + if (!image) { + console.log("Error generating preview: Image not found"); + return; } - }).catch((err) => { + + image.resize(1280, Jimp.AUTO).quality(20); + const processedBuffer = await image.getBufferAsync(Jimp.MIME_JPEG); + + if ( + Buffer.byteLength(processedBuffer) > + 1024 * 1024 * Number(process.env.PREVIEW_MAX_BUFFER || 0.1) + ) { + console.log("Error generating preview: Buffer size exceeded"); + return; + } + + await createFile({ + data: processedBuffer, + filePath: `archives/preview/${collectionId}/${linkId}.jpeg`, + }); + + await prisma.link.update({ + where: { id: linkId }, + data: { + preview: `archives/preview/${collectionId}/${linkId}.jpeg`, + }, + }); + } catch (err) { console.error("Error processing the image:", err); - }); + } } };