我在为我的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="">
是罪魁祸首。
如果你修改了这个文件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为图片类型添加标题