[Php] Ressource interpretiert als Bild, aber übertragen mit MIME-Typ text / html - Magento


Answers

Ich habe festgestellt, dass dieses Problem in meinem JavaScript-Konsolenprotokoll auftritt. Es war ein einfacher Fall einer CSS-Datei, die nach einem Hintergrundbild suchte, das nicht existierte und der Server stattdessen eine 404-Fehlermeldung sendete.

Question

Ich erhalte einen Fehler beim Hochladen eines neuen Produktbildes für meinen Magento Shop.

Resource interpreted as image but transferred with MIME type text/html

Gibt es einen Grund, warum das passiert?




Ich hatte einmal das gleiche Problem wegen der Großschreibung .

Meine Kollegen arbeiteten an einem Mac und fügten einige Camel-case-Dateien hinzu. Das funktioniert gut auf Mac, aber ich arbeitete unter Linux. Mac unterscheidet nicht zwischen Dateinamen mit unterschiedlichen Fällen, aber Linux. Die meisten Server laufen unter Linux.

Beispiel:

epicimage.jpg !== EpicImage.jpg

Dank der Chrome Dev Tools konnte das Problem sehr einfach gefunden werden. Ein Klick auf die Bild-URL zeigte mir unsere 404-Seite. Rätsel gelöst: D




Mein Problem war mit dieser Zeile im CSS

background-image: url(''); 

Was hätte sein sollen:

background-image: none;



Vielleicht hatten Bilder keine Leseberechtigung

Ich habe auch dieses Problem, wenn ich TinyPNG, um Bilder zu komprimieren, habe ich diese Fehlermeldung "Ressource als Bild interpretiert aber mit MIME-Typ Text / html übertragen". Dann füge ich Bilder Erlaubnis hinzu, es funktioniert.




Wenn der Bildpfad und der Dateiname für die Groß- / Kleinschreibung korrekt festgelegt sind und Sie die Datei .htaccess Ihres Servers nicht ändern können, ist die Codierung des SVG als Daten-URI eine Front-End-Lösung. css-tricks.com erklärt wie: http://css-tricks.com/using-svg/




Nach vielen Nachforschungen habe ich festgestellt, dass das Problem durch eine Kombination von Dingen verursacht wird, die dazu führen, dass der Server nicht weiß, um was für einen Dokumenttyp es sich handelt und dass er zwischen Kodierungstypen wie UTF-8 (oder etwas ähnlichem) durcheinander gebracht wird.

Ändern Sie in .htaccess die Kommentare so, dass Sie die folgenden Zeichen haben und einen Standardzeichensatz von UTF-8 erhalten.

############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

    #AddDefaultCharset Off
    AddDefaultCharset UTF-8

Dies stoppte den korrekten Fehler in Google (Danke mr google): "Ressource interpretiert als Bild, aber übertragen mit MIME-Typ Text / HTML"

Und die Bilder erscheinen in anderen Browsern (wo kein Fehler angezeigt wurde).




Für mich wurde dieser MIME-Typ-Fehler nur beim Testen von Safari 4.05 pro Client-Anforderungen und nur in der Konsole angezeigt. Letztendlich wurde dies von Safari verursacht, der das Javascript styling element.style.backgroundImage="url()"; ungraziös. Offensichtlich suchte Safari nach dieser leeren URL, also ist für Strixy und stevecomrie "keiner" die bessere Wahl. Dies ist im Wesentlichen das gleiche Problem wie oben erwähnt als fast Duplikat der Ressource interpretiert als andere, aber übertragen mit MIME-Typ Text / Javascript? , wobei ein <script src=""> der Schuldige war.