2008-10-14 8 views
9

Einige Dateien sind mit einem gemeldeten MIME-Typ hochgeladen:Was ist der Unterschied zwischen: image/x-citrix-pjpeg und image/pjpeg

image/x-citrix-pjpeg 

Sie gelten JPEG-Dateien und ich nehme sie als solche.

Ich fragte mich jedoch: Warum ist der MIME-Typ anders?
Gibt es einen Unterschied im Format? Oder wurde dieser Mimetyp ohne erkennbaren Grund von irgendeiner Glühbirne bei Citrix erfunden?

Antwort

12

Update:
Ok, ich auf diese Frage einige lästiges Suchen und Testen haben, und es stellt sich heraus, dass sie alle Lügen über MIME-Typ sind (nie vertrauen jede info vom Kunden senden, ich weiß,).
Ich habe eine Reihe von Dateien mit unterschiedlichen Kodierungen (erstellt mit libjpeg)

Official MIME-Typ für JPEG-Dateien geprüft: image/jpeg

Aber einige Anwendungen (insbesondere MS Internet Explores aber auch Yahoo! Mail) senden JPEG-Dateien als image/pjpeg

Ich dachte, ich wüsste, dass pjpeg für 'progressive' JPEG stand. Es stellt sich heraus, dass Progressive/Standard Encoding nichts damit zu tun hat.

MS Internet Explorer auszusenden alle JPEG-Dateien als pjpeg unabhängig vom Inhalt der Datei.

Das gleiche gilt für Citrix: alle JPEG-Dateien von einem Citrix-Client gesendet werden als image/x-citrix-pjpeg MIME-Typ gemeldet.

Die Dateien selbst sind unverändert (identisch vor und nach dem Upload). Es stellt sich also heraus, dass der Unterschied im MIME-Typ nur ein Hinweis darauf ist, welche Software zum Senden der Datei verwendet wurde.

Warum sollten Leute einen neuen MIME-Typ erfinden, wenn es keine Unterschiede zum Dateiinhalt gibt?

5

image/x-citrix-pjpeg scheint der MIME-Typ durch Bilder gesendet werden, die von einer Citrix-Sitzung ausgeführt werden.

Ich habe keine Formatunterschiede zwischen ihnen und regulären JPEGs gefunden - die meisten Bildkonvertierungsdienstprogramme behandeln sie genauso wie ein normales pjpeg, sobald die entsprechende MIME-Typ-Regel hinzugefügt wird.

Es ist möglich, dass es in einer Citrix Sitzung einige interne Magie gibt, wenn man jpegs verwaltet, die sie dazu gebracht haben, diesen MIME-Typ zu erstellen, den sie auf der Datei hinterlassen, wenn sie von ihren Systemen exportiert wird. Wie gesagt, ich habe keine tatsächlichen Formatunterschiede zu den gelegentlichen Dateien in diesem Format bemerkt, die wir erhalten.

+0

Es kann also sein, dass sie den MIME-Typ ändern, um ihn aus irgendeinem Grund intern zu markieren. – Jacco

+0

Das ist mein Denken, ja, vielleicht eine Art spezieller Bild-Handler intern, der Bilder in einem verwendbaren Format für ihr System markiert. Und der Export der Datei stört einfach nicht, die Markierung zu entfernen. Nicht viel Dokumentation da draußen drauf! – ConroyP

+0

meine wilde Vermutung wird sein, dass in jeder Terminal-Service-Sitzung abhängig von Ihren Einstellungen können Sie einige Farben verlieren (sagen Sie Tiefe von 24bit auf 16bit reduzieren). Daher haben sie (Citrix, MS usw.) vielleicht die Möglichkeit, ein anderes Ende zu erzählen, dass Sie mit einem Kunden in einer TS-Sitzung arbeiten - Sie können Ihre Bilder anders erstellen, um sie sicherer zu machen, mit höheren Chancen, Farben zu erhalten. Aber das ist nur meine Vermutung - nimm es nicht zu ernst. – DmitryK

2

Wenn Benutzer Internet Explorer über Citrix ausführen, ändert es aus bestimmten Gründen den MIME-Typen für GIF- und JPG-Dateien.

JPG: image/x-citrix-pjpeg 
GIF: image/x-citrix-gif 

Aufgrund meiner Tests sind PNG-Dateien nicht betroffen. Ich weiß nicht, ob dies ein Internet Explorer-Problem oder Citrix ist.

2

Es hat mit einer Funktion von Citrix namens SpeedBrowse zu tun, die jpegs und gifs in Webseiten auf der [Citrix] -Server-Seite abfängt, so dass sie sie via ICA (das Citrix-Remoting-Protokoll) senden kann - das ist mehr effizienter als Screen-Scraping sie. Wie ein vorheriges Poster vorgeschlagen hat, wird dies implementiert, indem die Bilder mit einem geänderten Mime-Typ markiert werden.

IIRC es hakt FindMimeFromData in IE, um den Mime-Typ im laufenden Betrieb zu ändern, aber dies gilt für hochgeladene Dateien sowie heruntergeladene - sicherlich ein Fehler.

1

Soweit ich mich erinnere, ist das Progressive JPG-Format das, mit dem das Bild beim Herunterladen der Datei mit fortschreitend höherer Auflösung angezeigt werden kann. Ich bin mir der Details nicht ganz bewusst, aber wenn Sie sich in den Tagen der Einwahl daran erinnern, würden einige Dateien unscharf, dann besser und schließlich vollständig sein, wenn sie heruntergeladen wurden. Damit dies funktioniert, müssen die Daten in einer anderen Reihenfolge gesendet werden, als normalerweise ein JPEG gesendet würde.

Die tatsächlichen Daten, sobald Sie es anzeigen, ist identisch, es wird nur in einer anderen Reihenfolge gesendet. Die JPEG-Codierung selbst kann sehr gut Pixel anders gruppieren, vergesse ich.