diff --git a/resources/image_test.go b/resources/image_test.go index 6639dbb24..061ae7710 100644 --- a/resources/image_test.go +++ b/resources/image_test.go @@ -152,6 +152,16 @@ func TestImageTransformLongFilename(t *testing.T) { assert.Equal("/a/_hu59e56ffff1bc1d8d122b1403d34e039f_90587_c876768085288f41211f768147ba2647.jpg", resized.RelPermalink()) } +// Issue 6137 +func TestImageTransformUppercaseExt(t *testing.T) { + assert := require.New(t) + image := fetchImage(assert, "sunrise.JPG") + resized, err := image.Resize("200x") + assert.NoError(err) + assert.NotNil(resized) + assert.Equal(200, resized.Width()) +} + // https://github.com/gohugoio/hugo/issues/5730 func TestImagePermalinkPublishOrder(t *testing.T) { for _, checkOriginalFirst := range []bool{true, false} { diff --git a/resources/resource.go b/resources/resource.go index 236ba8ac6..0aee4a052 100644 --- a/resources/resource.go +++ b/resources/resource.go @@ -209,7 +209,7 @@ func (r *Spec) newResource(sourceFs afero.Fs, fd ResourceSourceDescriptor) (reso fd.RelTargetFilename = sourceFilename } - ext := filepath.Ext(fd.RelTargetFilename) + ext := strings.ToLower(filepath.Ext(fd.RelTargetFilename)) mimeType, found := r.MediaTypes.GetFirstBySuffix(strings.TrimPrefix(ext, ".")) // TODO(bep) we need to handle these ambigous types better, but in this context // we most likely want the application/xml type. diff --git a/resources/testdata/sunrise.JPG b/resources/testdata/sunrise.JPG new file mode 100644 index 000000000..7d7307bed Binary files /dev/null and b/resources/testdata/sunrise.JPG differ