diff --git a/packages/payload/src/uploads/canResizeImage.ts b/packages/payload/src/uploads/canResizeImage.ts index 15f4c63b1..b3df32d1b 100644 --- a/packages/payload/src/uploads/canResizeImage.ts +++ b/packages/payload/src/uploads/canResizeImage.ts @@ -1,3 +1,7 @@ export function canResizeImage(mimeType: string): boolean { - return ['image/jpeg', 'image/png', 'image/gif', 'image/webp', 'image/tiff'].indexOf(mimeType) > -1 + return ( + ['image/jpeg', 'image/png', 'image/gif', 'image/webp', 'image/tiff', 'image/avif'].indexOf( + mimeType, + ) > -1 + ) } diff --git a/test/uploads/e2e.spec.ts b/test/uploads/e2e.spec.ts index 6d1032b9c..5ccb6d42b 100644 --- a/test/uploads/e2e.spec.ts +++ b/test/uploads/e2e.spec.ts @@ -223,6 +223,19 @@ describe('Uploads', () => { await saveDocAndAssert(page) }) + test('should properly convert avif image to png', async () => { + await page.goto(mediaURL.create) + + await page.setInputFiles('input[type="file"]', path.resolve(dirname, './test-image-avif.avif')) + const filename = page.locator('.file-field__filename') + await expect(filename).toHaveValue('test-image-avif.avif') + + await saveDocAndAssert(page) + + const fileMetaSizeType = page.locator('.file-meta__size-type') + await expect(fileMetaSizeType).toHaveText(/image\/png/) + }) + test('should create animated file upload', async () => { await page.goto(animatedTypeMediaURL.create) diff --git a/test/uploads/test-image-avif.avif b/test/uploads/test-image-avif.avif new file mode 100644 index 000000000..111d24b17 Binary files /dev/null and b/test/uploads/test-image-avif.avif differ