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
This commit is contained in:
Julian Lam
2020-12-08 09:48:32 -05:00
parent 37c367d6ff
commit 67cf5e83b7
2 changed files with 10 additions and 6 deletions

View File

@@ -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);
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,
height: meta.config.topicThumbSize,
});
}
if (plugins.hooks.hasListeners('filter:uploadImage')) {
return await plugins.hooks.fire('filter:uploadImage', {
image: uploadedFile,

View File

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