Fix not to reject non-image file uploads (#6664)

* fix not to reject non-image file uploads

* handle an error from sharp
This commit is contained in:
coord_e 2020-08-22 04:25:25 +09:00 committed by GitHub
parent eb70d6f226
commit aa55acedc9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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