Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 资源被解释为图像,但使用MIME类型text/html-Magento传输_Php_Magento - Fatal编程技术网

Php 资源被解释为图像,但使用MIME类型text/html-Magento传输

Php 资源被解释为图像,但使用MIME类型text/html-Magento传输,php,magento,Php,Magento,我上传我的Magento商店的新产品图片时出现以下错误 Resource interpreted as image but transferred with MIME type text/html 发生这种情况的原因是什么?图像发送时带有错误的标题,请通过将标题添加到图像类型。htaccess我检查了StackOverflow上的每个类似问题,试图解决类似问题 在修改我的htaccess文件和插入php头参数的所有尝试之后,对我来说,修复它的方法是…只是更改图片名称的大小写 啊。 (在本地托管

我上传我的Magento商店的新产品图片时出现以下错误

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

发生这种情况的原因是什么?

图像发送时带有错误的标题,请通过将标题添加到图像类型。htaccess

我检查了StackOverflow上的每个类似问题,试图解决类似问题

在修改我的htaccess文件和插入php头参数的所有尝试之后,对我来说,修复它的方法是…只是更改图片名称的大小写

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

如果图像路径设置不正确,很可能会出现这种情况。例如相对于当前目录“images/myimage.gif”与相对于web根目录“/images/myimage.gif”的比较


对“text/html”的引用可能表明服务器返回了一个错误。

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

经过大量研究,我发现这个问题是由多种因素造成的,导致服务器不知道它是什么类型的文档,并且混淆了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
这阻止了谷歌显示的正确错误(谢谢谷歌先生): “资源被解释为图像,但使用mime类型text/html传输”


而且他们让图像显示在其他浏览器中(没有显示错误)。

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

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

例如:

epicimage.jpg !== EpicImage.jpg

多亏了Chrome开发工具,这个问题很容易被发现。只需点击图片url,我就能看到404页面。谜团已解决:D

对于我来说,我的路径设置不正确,与试图从中提取图像的css文件相关,该文件触发了控制台中的错误

我必须走出2个目录,然后进入一个有我的图像的目录。。在斜杠将您带出目录之前。每个给你带出一个目录


例如url(../Folder/ImagesFolder/image.gif)

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

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

提示:mod_重写可能需要排除图像:

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

。。。其他所有内容都可能是404。

请检查图像的扩展名,无论使用的程序是用大写字母还是小写字母创建图像扩展名,有些服务器的读取方式不同。

如果图像路径和区分大小写的文件名设置正确,如果无法修改服务器的.htaccess文件,那么将SVG编码为数据URI是一种前端解决方案。css-tricks.com解释了如何:
我的问题是CSS中的这一行

background-image: url(''); 
应该是:

background-image: none;

这发生在我通过img标记包含SVG图像时。如果要通过标记包含SVG图像,则需要切换到对象标记:

测试SVG徽标

对于我来说,只有在按照客户要求测试Safari 4.05时,才显示此mime类型错误,并且仅在控制台中显示。最终,这是由Safari处理javascript样式
元素.style.backgroundImage=“url()”不正常。显然,Safari在寻找那个空url,所以根据Strixy和stevecomrie的说法,“无”是更好的选择。这与上面提到的问题基本相同,几乎是重复的,其中一个
是罪魁祸首。

对于magento2用户

如果您已修改此文件app/etc/di.xml 有以下几点

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

 /etc/apache2/sites-available/000-default.conf
在末尾添加以下行

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

允许超越所有

可能图像没有读取权限


我也遇到了这个问题,当我使用TinyPNG压缩图像时,我收到了一条错误消息“资源被解释为图像,但使用MIME类型text/html传输”。然后我添加了图像权限,它就起作用了。

你能把图像附加到你的问题上吗?重复,请看@Neil不太重复;OP得到了与另一个问题不同的mime类型;base64,/9j/4AAQS…..
而在Chrome中,这似乎不是错误。似乎是警告。警告是因为我必须在
data:image
MIME类型之后设置/写入文件类型设置文件是什么,或者更确切地说是什么文件扩展名指什么文件类型。例如,.html文件扩展名是指html文档,.zip文件扩展名是指zip存档文件。服务器需要知道这一点,以便知道如何处理文件。+1,将“.JPG”更改为“.JPG”为我解决了这个问题。在我的情况下,这应该被标记为最佳答案-谢谢!在我的情况下,它是S,而不是一个小S:P
 /etc/apache2/sites-available/000-default.conf
<Directory "/var/www/html">
    AllowOverride All 
</Directory>