2015-03-27 13 views
5

per la mia applicazione web AdLit. Conservo alcune immagini su Amazon AWS S3. Ma queste immagini non vengono resi in qualsiasi versione di Internet Explorer (testato con IE8, IE9 e IE11)Le immagini memorizzate su Amazon AWS S3 non sono state renderizzate in Internet Explorer

è possibile controllare questo fuori su:

http://www.adlit.be/team

Le immagini vengono resi in Safari, Firefox e Chrome, ma non in Internet Explorer.

Qualcuno ha esperienza con questo problema? E come può essere risolto?

grazie per il vostro aiuto,

Anthony

+0

Sto anche sperimentando quello che penso sia lo stesso problema, nessuna correzione in vista ancora. Vedo che non funziona ancora sulla tua pagina ma hai trovato qualcosa? – sricks

+0

Potrebbe esserci un problema con la gemma refile, che sembra utilizzare – JustMichael

+0

@JustMichael, ma funziona su Chrome e Firefox. Om ha solo il problema con IE – Toontje

risposta

2

Le foto sono immagini JPEG, ma sono tutti chiamati image senza estensione. Ciò significa che il tuo server non sta dando loro un'immagine Content-Type. Il server invia invece un header HTTP di:

Content-Type:application/octet-stream 

Chrome e Firefox sono apparentemente abbastanza intelligente da notare che la richiesta proviene da un elemento <img> e di riconoscere il formato JPEG dal contenuto binario stesso. Ma si dovrebbe rendere le cose molto più facile se si ottiene il vostro server per inviare un colpo di testa più appropriato:

Content-Type:image/jpeg 

Ho due ipotesi:

  1. Se si rinomina le tue foto sul server image-image.jpg oppure image.jpeg il server dedurrà il tipo di contenuto appropriato e
  2. Dato il tipo di contenuto corretto, IE visualizzerà le foto.

Oh aspetta, Amazon S3. Penso che il servizio web di S3 dedurrà Content-Type dall'estensione del file, ma in caso contrario è possibile esplicitamente set metadata on S3 objects, incluso (soprattutto) Content-Type.

6




Secondo W3C spec, immagini normalmente ottengono mime-annusato indipendentemente da quanto dichiarato nella risposta del server Content-Type intestazione.

Ma poiché è presente anche un'intestazione dell'armatura MS-proprietaria X-Content-Type-Options:nosniff, IE in questo caso non esegue il passo mime-sniff.   E quindi, per W3C, l'intestazione Content-Type fornisce il tipo mime finale.   Ma questo è "application/octet-stream", che non è un tipo di immagine supportato.



(filtro Fiddler - clicca per full size)

Problemi correlati