diff --git a/src/services/drive/add-file.ts b/src/services/drive/add-file.ts index fbd2f76ddc..8d32d06d2e 100644 --- a/src/services/drive/add-file.ts +++ b/src/services/drive/add-file.ts @@ -160,12 +160,30 @@ export async function generateAlts(path: string, type: string, generateWeb: bool } } - const img = sharp(path); - const metadata = await img.metadata(); - const isAnimated = metadata.pages && metadata.pages > 1; + if (!['image/jpeg', 'image/png', 'image/webp'].includes(type)) { + logger.debug(`web image and thumbnail not created (not an required file)`); + return { + webpublic: null, + thumbnail: null + }; + } - // skip animated - if (isAnimated) { + let img: sharp.Sharp | null = null; + + try { + img = sharp(path); + const metadata = await img.metadata(); + const isAnimated = metadata.pages && metadata.pages > 1; + + // skip animated + if (isAnimated) { + return { + webpublic: null, + thumbnail: null + }; + } + } catch (e) { + logger.warn(`sharp failed: ${e}`); return { webpublic: null, thumbnail: null