一些文件上载时报告了MIME类型:
image/x-citrix-pjpeg
它们是有效的jpeg文件,我接受它们。
不过,我想知道:为什么MIME类型不同?
格式有什么区别吗?还是这个MIME类型是由Citrix的某个聪明人无缘无故发明的?
一些文件上载时报告了MIME类型:
image/x-citrix-pjpeg
它们是有效的jpeg文件,我接受它们。
不过,我想知道:为什么MIME类型不同?
格式有什么区别吗?还是这个MIME类型是由Citrix的某个聪明人无缘无故发明的?
JPEG
文件的官方MIME类型:image/jpeg
但是一些应用程序(尤其是MS Internet Explorers,还有Yahoo! 邮件)会将JPEG文件发送为image/pjpeg
我以为我知道pjpeg代表“逐行扫描”JPEG。事实证明,渐进/标准编码与此无关。
MS Internet Explorer将所有 JPEG文件作为pjpeg发送,而不管文件内容如何。
对于Citrix也是如此:所有从Citrix客户端发送的JPEG文件都报告为image/x-citrix-pjpeg
MIME类型。
文件本身没有被更改(上传前后相同)。因此,MIME类型的差异只是发送文件使用的软件的指示吗?
如果文件内容没有区别,为什么人们要发明一个新的MIME类型呢?
image/x-citrix-pjpeg
似乎是从 Citrix 会话中导出的图像所发送的 MIME 类型。我没有发现它们与普通 JPEG 之间有任何格式差异 - 大多数图像转换工具将在添加适当的 mime-type 规则后与常规 pjpeg 处理它们相同。如果我没记错的话,它在 IE 中挂钩 FindMimeFromData 来动态更改 mime 类型,但这也被应用于上传的文件和下载的文件 - 这肯定是一个错误。
由于某些原因,当人们通过Citrix运行Internet Explorer时,它会更改GIF和JPG文件的MIME类型。
JPG: image/x-citrix-pjpeg
GIF: image/x-citrix-gif
根据我的测试,PNG文件不受影响。我不知道这是Internet Explorer问题还是Citrix问题。
据我记得,渐进式JPEG格式允许随着文件下载的进行,以逐步更高的分辨率显示图像。我并不完全了解细节,但如果你还记得拨号上网的时代,一些文件会在下载过程中显示模糊,然后变得更好,最终完成。为了使这个功能生效,数据需要按照不同于通常JPEG发送顺序来发送。
实际数据,一旦您查看它,是相同的,只是按照不同的顺序发送。JPEG编码本身可能会以不同方式组合像素,我忘了。