Domanda

Alcuni file vengono caricati con un tipo MIME segnalato:

image/x-citrix-pjpeg

Sono file jpeg validi e li accetto come tali.

Mi chiedevo comunque: perché il tipo MIME è diverso?
C'è qualche differenza nel formato? o questo mimetipo è stato inventato da una lampadina a citrix senza una ragione apparente?

È stato utile?

Soluzione

Aggiornamento:
Ok, ho fatto qualche altra ricerca e test su questa domanda, e si scopre che mentono tutti sul tipo MIME (non mi fido mai di qualsiasi informazioni inviate dal cliente, lo so).
Ho controllato un sacco di file con codifiche diverse (create con libjpeg)

Ufficiale tipo MIME per file jpeg: image/jpeg

Ma alcune applicazioni (in particolare MS Internet Explores ma anche Yahoo! mail) inviano file jpeg come image / pjpeg

  

Pensavo di sapere che pjpeg stava per jpeg 'progressivo'. Si scopre che la codifica progressiva / standard non ha nulla a che fare con essa.

MS Internet Explorer Explorer invia tutti file jpeg come pjpeg indipendentemente dal contenuto del file.

Lo stesso vale per citrix: tutti i file jpeg inviati da un client citrix sono riportati come image / x-citrix-pjpeg tipo MIME.

I file stessi non sono toccati (identici prima e dopo il caricamento). Quindi risulta che la differenza nel tipo MIME è solo un'indicazione utilizzata dal software per inviare il file?

Perché le persone dovrebbero inventare un nuovo tipo MIME se non ci sono differenze nel contenuto del file?

Altri suggerimenti

image / x-citrix-pjpeg sembra essere il tipo MIME inviato da immagini esportate da una sessione Citrix.

Non ho riscontrato differenze di formato tra loro e i normali JPEG: la maggior parte dei programmi di utilità per la conversione di immagini li gestirà come un normale pjpeg, una volta aggiunta la regola del tipo mime appropriata.

È possibile che in una sessione Citrix ci sia un po 'di magia interna durante la gestione di jpeg che li ha portati a creare questo tipo mime, che lasciano sul file quando viene esportato dai loro sistemi, ma è solo una mia ipotesi. Come ho già detto, non ho notato differenze di formato effettive rispetto ai file occasionali in questo formato che riceviamo.

Il più vicino che sono venuto a scoprire di cosa si tratta, è questa discussione. Spero che sia d'aiuto.

http://forums.citrix.com/message.jspa?messageID=713174

Per qualche ragione, quando le persone eseguono Internet Explorer tramite Citrix, cambia il tipo mime per i file GIF e JPG.

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

In base ai miei test, i file PNG non sono interessati. Non so se si tratta di un problema di Internet Explorer o Citrix.

Ha a che fare con una funzionalità di Citrix chiamata SpeedBrowse, che intercetta jpeg e gif in pagine Web sul lato server [Citrix], in modo che possa inviarli interi tramite ICA (il protocollo di remoting Citrix) - questo è più efficiente che raschiarli sullo schermo. Come suggerito da un precedente poster, questo viene implementato contrassegnando le immagini con un tipo mime modificato.

IIRC aggancia FindMimeFromData in IE per cambiare il tipo di mime al volo, ma questo viene applicato sia ai file caricati che a quelli scaricati - sicuramente un bug.

Da quello che ricordo il formato JPG progressivo è quello che consentirebbe di mostrare l'immagine con una risoluzione progressivamente più alta man mano che il download del file procedeva. Non sono del tutto consapevole dei dettagli, ma se ricordi ai tempi della dial-up, alcuni file sarebbero sfocati, quindi migliori e alla fine completi man mano che venivano scaricati. Affinché ciò funzioni, i dati devono essere inviati in un ordine diverso rispetto a quello normalmente inviato da un JPEG.

I dati effettivi, una volta visualizzati, sono identici e vengono inviati in un ordine diverso. La stessa codifica JPEG potrebbe benissimo raggruppare i pixel in modo diverso, mi dimentico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top