当我在我的Magento商店上传新产品图片时,出现以下错误。
Resource interpreted as image but transferred with MIME type text/html
这是发生的原因吗?
如果您的图像路径设置不正确,可能会出现这种情况。例如相对于当前目录的路径为"images/myimage.gif",而相对于Web根目录的路径则是"/images/myimage.gif"。
"text/html"的引用可能表明服务器返回了错误。
我注意到这个问题出现在我的JavaScript控制台日志中。这只是一个CSS文件寻找一个不存在的背景图片,服务器发送了一个404错误消息来代替它。
需要使用正确的MIME类型来提供图像 -
将以下行添加到.htaccess文件中(假设它是apache2 httpd):
AddType image/gif .gif
RewriteCond %{REQUEST_URI} !\.(png|gif|jpg)$
RewriteRule ...
......其他的可能确实是404错误。
我曾经也遇到过同样的问题,是因为字母大小写的问题。
我的同事们在Mac上工作,并添加了一些驼峰格式的文件,但在CSS中显示为小写。这在Mac上运行良好,但我在Linux上工作。 Mac不区分大小写的文件名,但Linux有区别。大多数服务器都运行在Linux上。
例如:
epicimage.jpg !== EpicImage.jpg
多亏了Chrome Dev Tools,问题可以很容易地找到。只需单击图像URL,就能显示我们的404页面。谜底揭开 :D
background-image: url('');
background-image: none;
############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead
#AddDefaultCharset Off
AddDefaultCharset UTF-8
我查看了StackOverflow上几乎所有类似的问题,试图解决类似的问题。
在尝试修改我的htaccess文件和插入php头参数之后,最终让我解决问题的是...只需更改图片名称中的大写字母。
唉。 (同样的浏览器本地主机上也可以正常工作...所以我一开始当然不会认为这是问题。)
对于Magento 2用户
如果您已经修改了此文件 app/etc/di.xml,请按照以下方法进行操作
<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
确保路径字符串区分大小写(对于非Windows操作系统,使用CaseSensitive)
a2enmod rewrite
然后编辑
/etc/apache2/sites-available/000-default.conf
<Directory "/var/www/html">
AllowOverride All
</Directory>
对我来说,这个MIME类型错误只在测试Safari 4.05时出现,因为客户要求,并且只在控制台中显示。最终,这是由于Safari不优雅地处理了javascript样式element.style.backgroundImage="url()";
。显然,Safari正在寻找空的URL,所以根据Strixy和stevecomrie,"none"是更好的选择。这本质上与上述问题相同,几乎是Resource interpreted as other but transferred with MIME type text/javascript?的副本,在其中,一个<script src="">
是罪魁祸首。
data:image;base64,/9j/4AAQS.....
,在Chrome中似乎不是错误,而是警告。这个警告是因为我必须在data:image
之后设置/编写文件类型。 - Andris