资源解释为图像,但传输MIME类型文本/html - Magento


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

我在为我的Magento商店上传新产品图像时出现以下错误。

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

发生这种情况有原因吗?

如果您的图像路径设置不正确,可能会发生这种情况。例如相对于当前目录"images/myimage.gif" vs相对于web根目录"/images/myimage.gif"

对"text/html"的引用可能表明服务器正在返回一个错误。

我注意到这个问题出现在我的JavaScript控制台日志中。这是一个简单的例子,一个CSS文件寻找一个不存在的背景图像,服务器在它的位置发送了一个404错误消息。

需要为图像提供适当的MIME类型-

将这行添加到.htaccess文件中(假设它是apache2 httpd):

AddType image/gif .gif

提示:mod_rewrite可能需要排除图像:

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

…其他的都可能是404。

我曾经遇到过同样的问题,因为大写

我的同事在Mac上工作,并添加了一些驼峰格式的文件,但它在CSS中显示为小写。这在Mac上运行良好,但我在Linux上工作。Mac不能区分不同大小写的文件名,但Linux可以。大多数服务器都是在Linux上运行的。

的例子:

epicimage.jpg !== EpicImage.jpg

感谢Chrome开发工具,这个问题可以很容易地找到。简单地点击图像url显示我们的404页面。谜面揭晓:D

请检查您的图像的扩展名,是否使用创建图像的程序用大写字母或小写字母标记其扩展名,有些服务器读取它们不同。

我检查了基本上每个类似的问题在StackOverflow试图解决一个类似的问题。

在所有的尝试改变我的htaccess文件和插入php头参数,什么为我修复它是…只是更改了图片名称的大写字母。

啊。(它在本地托管的同一浏览器中也能正常工作……所以我当然不会认为这是最初的问题。)

经过大量的研究,我发现这个问题是由导致服务器不知道它是什么类型的文档,并在编码类型之间混淆,如UTF-8(或类似的东西)

因此,在.htaccess中,更改注释,使您拥有以下内容,给出默认字符集UTF-8。

############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead
    #AddDefaultCharset Off
    AddDefaultCharset UTF-8

这停止了正确的错误显示在谷歌(谢谢你mr google):"资源被解释为图像,但以mime类型text/html传输"

并使图像显示在其他浏览器中(没有显示错误)。

我的问题是这一行在CSS

background-image: url(''); 

应该是:

background-image: none;

对于我来说,我的路径相对于试图从控制台触发错误的图像的css文件设置不正确。

我必须去两个目录,然后进入一个有我的图像。. .在斜杠将您带出目录之前。每一个。为您显示另一个目录

交货。url (../Folder/ImagesFolder/image.gif)

如果您的图像路径和区分大小写的文件名设置正确,并且如果您无法修改服务器的。htaccess文件,那么将SVG编码为数据URI是一个前端解决方案。Css-tricks.com解释了如何:http://css-tricks.com/using-svg/

当我通过img标签包含SVG图像时发生了这种情况。如果你通过标签包括SVG图像,你需要切换到对象标签: <object type="image/svg+xml" data="imageFile.svg"> Test SVG Logo </object>

对于我来说,这个mime类型错误仅在每个客户端要求测试Safari 4.05时显示,并且仅在控制台上显示。最终,这是由于Safari处理javascript样式element.style.backgroundImage="url()";不优雅造成的。显然,Safari正在寻找空url,所以根据Strixy和stevecomrie的说法,"none"是更好的选择。这基本上是相同的问题如上所述,接近重复的资源解释为其他,但与MIME类型的文本/javascript传输?,其中<script src="">是罪魁祸首。

magento2用户

如果你修改了这个文件app/etc/di.xml下面是

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

确保路径字符串是大小写敏感的(非Windows操作系统是大小写敏感的)


如果您在magento2之后遇到404错误,请在Ubuntu中安装。

安装并启用重写模块

a2enmod rewrite

然后编辑

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

在末尾添加以下行

<Directory "/var/www/html">
    AllowOverride All 
</Directory>

可能图像没有读取权限

我也遇到了这个问题,当我使用TinyPNG压缩图像时,我得到了这个错误信息"资源被解释为图像,但用MIME类型text/html传输"。然后我添加图像权限,它工作。

图片发送错误的标题,通过。htaccess为图片类型添加标题