diff --git a/src/uploads/generateFileData.ts b/src/uploads/generateFileData.ts index 5a7a2eaf9b..9261239174 100644 --- a/src/uploads/generateFileData.ts +++ b/src/uploads/generateFileData.ts @@ -115,10 +115,13 @@ export const generateFileData = async ({ fileBuffer = await sharpFile.toBuffer({ resolveWithObject: true }); ({ mime, ext } = await fromBuffer(fileBuffer.data)); // This is getting an incorrect gif height back. fileData.width = fileBuffer.info.width; + fileData.filesize = fileBuffer.info.size; - // Animated GIFs aggregate the height from every frame, so we need to use divide by number of pages - fileData.height = sharpOptions.animated ? (fileBuffer.info.height / metadata.pages) : fileBuffer.info.height; - fileData.filesize = fileBuffer.data.length; + // Animated GIFs + WebP aggregate the height from every frame, so we need to use divide by number of pages + if (metadata.pages) { + fileData.height = fileBuffer.info.height / metadata.pages; + fileData.filesize = fileBuffer.data.length; + } } else { mime = file.mimetype; fileData.filesize = file.size;