Why does IE7 specify a mime-type of image/pjpeg rather than just image/jpeg?

Solution 1:

I believe it's because the JPEG you're working with is a progressive JPEG, which has a different mime-type.

Solution 2:

IE can upload all .jpeg files as its hack MIME type 'image/pjpeg' regardless of whether or not they're actually progressive.

Don't rely on the MIME type supplied in a file upload, there is every chance it could be wrong for a variety of reasons including this one.

Solution 3:

Because Microsoft likes to violate standards. There's no such MIME type as image/pjpeg. See for yourself: http://www.iana.org/assignments/media-types/media-types.xhtml#image

The correct MIME type for JPEG is image/jpeg, progressive or not.

Solution 4:

There is same problem with png:

IE7: image/x-png Normal browsers: image/png

;)