diff --git a/app/Services/ImageService.php b/app/Services/ImageService.php index 9755ea307..6686082ee 100644 --- a/app/Services/ImageService.php +++ b/app/Services/ImageService.php @@ -170,6 +170,15 @@ class ImageService extends UploadService return $image->path; } + /** + * Checks if the image is a gif. Returns true if it is, else false. + * @param Image $image + * @return boolean + */ + protected function isGif(Image $image) { + return strtolower(pathinfo($this->getPath($image), PATHINFO_EXTENSION)) === 'gif'; + } + /** * Get the thumbnail for an image. * If $keepRatio is true only the width will be used. @@ -184,6 +193,10 @@ class ImageService extends UploadService */ public function getThumbnail(Image $image, $width = 220, $height = 220, $keepRatio = false) { + if ($keepRatio && $this->isGif($image)) { + return $this->getPublicUrl($this->getPath($image)); + } + $thumbDirName = '/' . ($keepRatio ? 'scaled-' : 'thumbs-') . $width . '-' . $height . '/'; $imagePath = $this->getPath($image); $thumbFilePath = dirname($imagePath) . $thumbDirName . basename($imagePath); diff --git a/resources/assets/js/vues/components/dropzone.js b/resources/assets/js/vues/components/dropzone.js index 65717b86b..0e40b20ca 100644 --- a/resources/assets/js/vues/components/dropzone.js +++ b/resources/assets/js/vues/components/dropzone.js @@ -37,14 +37,14 @@ function mounted() { dz.on('error', function (file, errorMessage, xhr) { _this.$emit('error', {file, errorMessage, xhr}); - console.log(errorMessage); - console.log(xhr); + function setMessage(message) { $(file.previewElement).find('[data-dz-errormessage]').text(message); } if (xhr && xhr.status === 413) setMessage(trans('errors.server_upload_limit')); - if (errorMessage.file) setMessage(errorMessage.file[0]); + else if (errorMessage.file) setMessage(errorMessage.file); + }); } });