我为Magento商店上传新产品图片时遇到以下错误。
Resource interpreted as image but transferred with MIME type text/html
为什么会发生这种情况?
答案 0 :(得分:42)
如果图像路径设置不正确,可能会发生这种情况。例如,相对于当前目录“images / myimage.gif”与相对于web根目录“/images/myimage.gif”。
对“text / html”的引用可能表示服务器返回了错误。
答案 1 :(得分:12)
我注意到此问题出现在我的JavaScript控制台日志中。这是一个简单的CSS文件,查找不存在的背景图像,服务器在其位置发送404错误消息。
答案 2 :(得分:5)
需要使用正确的MIME类型提供图像 -
将此行添加到.htaccess文件中(假设它是apache2 httpd):
AddType image/gif .gif
提示:mod_rewrite可能需要排除图像:
RewriteCond %{REQUEST_URI} !\.(png|gif|jpg)$
RewriteRule ...
......其他一切可能确实是404。
答案 3 :(得分:3)
由于大写,我曾遇到同样的问题。
我的同事正在Mac上工作,并添加了一些骆驼文件,但它在CSS中表现较低。这在Mac上工作正常,但我在Linux上工作。 Mac没有区分具有不同情况的文件名,但Linux确实如此。大多数服务器都在Linux上运行。
示例:
epicimage.jpg !== EpicImage.jpg
感谢Chrome Dev Tools,可以轻松找到问题所在。只需点击图片网址就会向我展示我们的404页面。神秘解决了:D
答案 4 :(得分:2)
我基本上检查了StackOverflow上每个类似的问题,试图解决类似的问题。
在改变我的htaccess文件和插入php头部参数的所有尝试之后,为我修复的是......只是更改了图片名称的大小写。
唉。 (它在本地托管的同一个浏览器中运行良好......当然我不认为这是最初的问题。)
答案 5 :(得分:2)
经过大量的研究,我发现问题是由于服务器不知道它是什么类型的文件以及在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
这停止了google中显示的正确错误(谢谢你,谷歌): “资源被解释为图像但使用mime类型text / html传输”
使图像显示在其他浏览器中(没有显示错误)。
答案 6 :(得分:2)
请检查图片的扩展程序,是否使用的程序使用大写字母或小写字母创建图片标签,部分服务器将其读取不同。
答案 7 :(得分:2)
我的问题在于CSS中的这一行
background-image: url('');
应该是:
background-image: none;
答案 8 :(得分:0)
对我来说,我的路径设置错误,相对于尝试从控制台中触发错误的图像拉出的css文件。
我必须出去2个目录,然后进入拥有我的图像的那个目录。..在斜杠之前将你带出目录。每个。带你再出一个目录。
离。 url(../ Folder / ImagesFolder / image.gif)
答案 9 :(得分:0)
如果您的图像路径和区分大小写的文件名设置正确,并且您无法修改服务器的.htaccess文件,则将SVG编码为数据URI是一个前端解决方案。 css-tricks.com解释如何: http://css-tricks.com/using-svg/
答案 10 :(得分:0)
当我通过img标签包含SVG图像时,这发生在我身上。如果您通过标记包含SVG图像,则需要切换到Object标记:
<object type="image/svg+xml" data="imageFile.svg">
Test SVG Logo
</object>
答案 11 :(得分:0)
对我来说,这个mime类型错误仅在每个客户端要求测试Safari 4.05时显示,并且仅在控制台中显示。最终,这是由于Safari非常谨慎地处理javascript样式element.style.backgroundImage="url()";
引起的。显然,Safari正在寻找那个空网址,所以根据Strixy和stevecomrie,&#34; none&#34;是更好的选择。这与上面提到的基本相同的问题是Resource interpreted as other but transferred with MIME type text/javascript?的近似重复,其中<script src="">
是罪魁祸首。
答案 12 :(得分:0)
对于magento2用户
如果您修改了此文件 app / etc / di.xml 以下
<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
确保路径字符串区分大小写(非Windows操作系统的CaseSensitive)
如果您在 Ubuntu 中安装magento2后面临404错误。
安装并启用重写模块
a2enmod rewrite
然后编辑
/etc/apache2/sites-available/000-default.conf
在结尾添加以下行
<Directory "/var/www/html">
AllowOverride All
</Directory>
答案 13 :(得分:0)
图片可能没有读取权限
我也遇到了这个问题,当我使用TinyPNG来压缩图像时,我得到了这个错误信息&#34;资源被解释为图像但是使用MIME类型text / html&#34;进行传输。然后我添加图像权限,它可以工作。
答案 14 :(得分:-1)
图像使用错误的标题发送,通过.htaccess
将标题添加到图像类型