add fallback when resizing image fails, closes #1190

This commit is contained in:
zadam 2020-08-20 11:34:14 +02:00
parent eec850c11f
commit a89629b3de

View File

@ -98,7 +98,17 @@ async function saveImage(parentNoteId, uploadBuffer, originalName, shrinkImageSw
async function shrinkImage(buffer, originalName) {
// we do resizing with max (100) quality which will be trimmed during optimization step next
const resizedImage = await resize(buffer, 100);
let resizedImage;
try {
resizedImage = await resize(buffer, 100);
}
catch (e) {
log.error("Failed to resize image '" + originalName + "'\nStack: " + e.stack);
resizedImage = buffer;
}
let finalImageBuffer;
const jpegQuality = await optionService.getOptionInt('imageJpegQuality');
@ -107,7 +117,15 @@ async function shrinkImage(buffer, originalName) {
finalImageBuffer = await optimize(resizedImage, jpegQuality);
} catch (e) {
log.error("Failed to optimize image '" + originalName + "'\nStack: " + e.stack);
finalImageBuffer = await resize(buffer, jpegQuality);
try {
finalImageBuffer = await resize(buffer, jpegQuality);
}
catch (e) {
log.error("Failed to resize image '" + originalName + "'\nStack: " + e.stack);
finalImageBuffer = buffer;
}
}
// if resizing & shrinking did not help with size then save the original