fix: changes to thumb resizing logic

- Resized thumb no longer skews aspect ratio
- Thumbs resized down to maximum thumb size by WIDTH only
- image.checkDimensions() now returns dimensions
v1.18.x
Julian Lam 4 years ago
parent 37c367d6ff
commit 67cf5e83b7

@ -120,12 +120,14 @@ uploadsController.uploadThumb = async function (req, res) {
throw new Error('[[error:invalid-file]]');
}
await image.isFileTypeAllowed(uploadedFile.path);
await image.checkDimensions(uploadedFile.path);
await image.resizeImage({
path: uploadedFile.path,
width: meta.config.topicThumbSize,
height: meta.config.topicThumbSize,
});
const dimensions = await image.checkDimensions(uploadedFile.path);
if (dimensions.width > parseInt(meta.config.topicThumbSize, 10)) {
await image.resizeImage({
path: uploadedFile.path,
width: meta.config.topicThumbSize,
});
}
if (plugins.hooks.hasListeners('filter:uploadImage')) {
return await plugins.hooks.fire('filter:uploadImage', {
image: uploadedFile,

@ -105,6 +105,8 @@ image.checkDimensions = async function (path) {
if (result.width > meta.config.rejectImageWidth || result.height > meta.config.rejectImageHeight) {
throw new Error('[[error:invalid-image-dimensions]]');
}
return result;
};
image.convertImageToBase64 = async function (path) {

Loading…
Cancel
Save