WordPress.org

Make WordPress Core

Opened 4 months ago

Last modified 3 months ago

#50866 new defect (bug)

Media Uploader Blows Up File Sizes

Reported by: hvar Owned by:
Milestone: Awaiting Review Priority: normal
Severity: major Version: 5.4.2
Component: Media Keywords: has-patch has-unit-tests dev-feedback needs-testing
Focuses: administration, performance Cc:

Description

Dear Developers,

this is a flaw in the media uploader that is very simple to reproduce:

create a 512x512 PNG image with best compression,

make sure that your wordpress is set to create small, medium, and large versions of that image,

set one of those versions to be also 512x512px, so when you upload a 512x512px image the media manager will create a copy of that image with the same size.

upload the image.

wordpress's uploader will not use the original 512x512px PNG image when this size is requested by a page, but instead it will use its own 512x512px image that it has created, and

compare sizes - the media uploader's PNG image file is at least 3x-4x times bigger, and wordpress will use that bigger image file instead of the smaller original of the same dimensions, and better compression.

Please, could you fix that?

Thank you

Attachments (1)

50866.1.patch (3.8 KB) - added by Mista-Flo 3 months ago.

Download all attachments as: .zip

Change History (4)

#1 @SergeyBiryukov
4 months ago

Thanks for the report!

Just linking to a ticket that might be related: #47713.

@Mista-Flo
3 months ago

#2 @Mista-Flo
3 months ago

  • Keywords has-patch has-unit-tests dev-feedback needs-testing added; needs-patch removed

Hi there, I have uploaded a patch. It changes the behaviour of image_get_intermediate_size function to return the originale file info instead of the sub size if they share the exact same width and height.

I am not sure this need changes in other image functions. Please run some tests.

This ticket was mentioned in Slack in #core-media by florian-tiar. View the logs.


3 months ago

Note: See TracTickets for help on using tickets.