it-swarm.com.de

Ressource wird als Bild interpretiert, jedoch mit dem MIME-Typ text/html - Magento übertragen

Beim Hochladen eines neuen Produktbildes für meinen Magento-Shop wird die Fehlermeldung angezeigt.

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

Gibt es einen Grund, warum dies geschieht?

37
Jae Kun Choi

Dies kann durchaus vorkommen, wenn der Bildpfad falsch eingestellt ist. Zum Beispiel relativ zum aktuellen Verzeichnis "images/myimage.gif" vs. relativ zum Webstamm "/images/myimage.gif".

Der Verweis auf "text/html" kann auf einen Fehler hinweisen, der vom Server zurückgegeben wird.

42
Ian Lewis

Ich habe dieses Problem in meinem JavaScript-Konsolenprotokoll festgestellt. Es war ein einfacher Fall, in dem eine CSS-Datei nach einem Hintergrundbild suchte, das nicht vorhanden war, und der Server eine 404-Fehlermeldung an seiner Stelle sendet.

12
stevecomrie

Die Bilder müssen mit dem richtigen MIME-Typ geliefert werden.

Fügen Sie diese Zeile in die .htaccess-Datei ein (vorausgesetzt es ist Apache2 httpd):

AddType image/gif .gif

hinweis: Für mod_rewrite ist möglicherweise ein Ausschluss für Bilder erforderlich:

RewriteCond %{REQUEST_URI} !\.(png|gif|jpg)$
RewriteRule ...

... alles andere könnte in der Tat 404 sein.

5
Martin Zeitler

Ich hatte das gleiche Problem einmal wegen der Kapitalisierung .

Meine Kollegen arbeiteten an einem Mac und fügten ein paar Dateien mit Kamelgehäusen hinzu, die jedoch in CSS eher klein waren. Dies funktioniert gut auf einem Mac, aber ich habe an Linux gearbeitet. __ Mac unterscheidet Dateinamen nicht in unterschiedlichen Fällen, Linux dagegen. 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

3
Kim Hogeling

Bitte überprüfen Sie extension Ihres Bildes, ob das verwendete Programm das Bild mit Groß- oder Kleinbuchstaben beschriftet, einige Server lesen sie anders.

2
Ralphkay

Mein Thema war mit dieser Zeile in der CSS 

background-image: url(''); 

Was hätte sein sollen:

background-image: none;
2
Strixy

Nach langem Suchen habe ich herausgefunden, dass das Problem durch eine Kombination von Dingen verursacht wird, die dazu führen, dass der Server nicht weiß, um welche Art von Dokument es sich handelt, und die Codierungstypen wie UTF-8 (oder ähnliches) durcheinander geraten.

Ändern Sie also in .htaccess die Kommentarrunde, sodass Sie Folgendes haben, und geben Sie den Standardzeichensatz UTF-8 an. 

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

    #AddDefaultCharset Off
    AddDefaultCharset UTF-8

Dies hat den korrekten Fehler in Google gestoppt (Danke, Herr Google): "Ressource wird als Bild interpretiert, aber mit MIME-Typ" text/html "übertragen."

Und die Bilder wurden in anderen Browsern angezeigt (es wurde kein Fehler angezeigt).

2
Jackie

Ich habe alle ähnlichen Fragen zu StackOverflow überprüft, die ein ähnliches Problem lösen wollten.

Nach all den Versuchen, meine Htaccess-Datei zu ändern und Argumente für PHP-Kopf einzufügen, wurde das Problem behoben, indem ich einfach die Großschreibung des Bildnamens änderte.

Ugh . (Es funktionierte auch in demselben lokal gehosteten Browser ... also würde ich natürlich nicht denken, dass dies anfangs das Problem war.)

2
emerazea

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

0
matbergman

Dieser Mime-Typ-Fehler wurde für mich nur beim Testen von Safari 4.05 pro Client-Anforderungen und nur in der Konsole angezeigt. Letztendlich wurde dies dadurch verursacht, dass Safari das Javascript-Styling element.style.backgroundImage="url()"; ungerade handhabte. Offensichtlich suchte Safari nach dieser leeren URL. Daher ist "none" laut Strixy und stevecomrie die bessere Wahl. Dies ist im Wesentlichen das gleiche Problem, das oben als "Duplikat der Ressource" als anderes interpretiert wurde, aber mit MIME-Typ Text/Javascript übertragen wurde. , wobei ein <script src=""> der Täter war.

0
grayrabbit

Für magento2-Benutzer

Wenn Sie diese Datei app/etc/di.xml Mit folgendem geändert haben 

<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>

stellen Sie sicher, dass die Pfadzeichenfolge case sensitive ist (CaseSensitive für Nicht-Windows-Betriebssysteme).


Wenn Sie nach magento2 mit 404-Fehlern konfrontiert werden, installieren Sie die Datei in Ubuntu .

Installieren und aktivieren Sie rewrite module

a2enmod rewrite

Dann bearbeiten 

 /etc/Apache2/sites-available/000-default.conf

Fügen Sie am Ende folgende Zeilen hinzu

<Directory "/var/www/html">
    AllowOverride All 
</Directory>
0
abdul rashid

Für mich wurde mein Pfad relativ zu der CSS-Datei falsch gesetzt, die das Bild von dem abziehen wollte, das den Fehler in der Konsole auslöste.

Ich musste 2 Verzeichnisse rausgehen und dann in das Verzeichnis, das mein Bild hatte. Das .. vor dem Schrägstrich bringt Sie aus einem Verzeichnis. Jeder . bringt Sie ein weiteres Verzeichnis heraus.

ex. URL (../Folder/ImagesFolder/image.gif)

0
Terri Swiatek

Vielleicht hatten Bilder keine Leseberechtigung

Ich habe dieses Problem auch, wenn ich TinyPNG zum Komprimieren von Bildern verwende, erhielt ich die Fehlermeldung "Ressource als Bild interpretiert, aber mit MIME-Typ Text/HTML übertragen". Dann füge ich Bilder Erlaubnis hinzu, es funktioniert.

0
weimin

Dies geschah bei mir, als ich das SVG-Bild via img-Tag eingebunden hatte. Wenn Sie ein SVG-Bild per Tag einfügen, müssen Sie stattdessen zum Object-Tag wechseln: <object type="image/svg+xml" data="imageFile.svg"> Test SVG Logo </object>

0
TechMaze