backported image fixes

This commit is contained in:
zadam 2019-07-10 20:38:27 +02:00
parent 3413c9ed64
commit c3e1126489

View file

@ -13,6 +13,13 @@ const imageType = require('image-type');
const sanitizeFilename = require('sanitize-filename'); const sanitizeFilename = require('sanitize-filename');
async function saveImage(buffer, originalName, parentNoteId, shrinkImageSwitch) { async function saveImage(buffer, originalName, parentNoteId, shrinkImageSwitch) {
const origImageFormat = imageType(buffer);
if (origImageFormat.ext === "webp") {
// JIMP does not support webp at the moment: https://github.com/oliver-moran/jimp/issues/144
shrinkImageSwitch = false;
}
const finalImageBuffer = shrinkImageSwitch ? await shrinkImage(buffer, originalName) : buffer; const finalImageBuffer = shrinkImageSwitch ? await shrinkImage(buffer, originalName) : buffer;
const imageFormat = imageType(finalImageBuffer); const imageFormat = imageType(finalImageBuffer);
@ -48,7 +55,7 @@ async function shrinkImage(buffer, originalName) {
try { try {
finalImageBuffer = await optimize(resizedImage); finalImageBuffer = await optimize(resizedImage);
} catch (e) { } catch (e) {
log.error("Failed to optimize image '" + originalName + "\nStack: " + e.stack); log.error("Failed to optimize image '" + originalName + "'\nStack: " + e.stack);
finalImageBuffer = resizedImage; finalImageBuffer = resizedImage;
} }
@ -93,7 +100,7 @@ async function optimize(buffer) {
quality: 50 quality: 50
}), }),
imageminPngQuant({ imageminPngQuant({
quality: "0-70" quality: [0, 0.7]
}), }),
imageminGifLossy({ imageminGifLossy({
lossy: 80, lossy: 80,