【问题标题】:Resource interpreted as image but transferred with MIME type text/html - Magento资源解释为图像,但使用 MIME 类型 text/html 传输 - Magento
【发布时间】:2011-12-24 19:34:21
【问题描述】:

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

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

发生这种情况有什么原因吗?

【问题讨论】:

  • 你能把图片附在你的问题上吗?
  • @Neil 不完全是骗子; OP 的 mime 类型与其他问题不同。
  • 在我的情况下,图像就像data:image;base64,/9j/4AAQS..... 在 Chrome 中似乎不是错误。似乎是警告。警告是因为我必须在data:image 之后设置/写入文件类型

标签: php magento


【解决方案1】:

可能图片没有读取权限

我也遇到了这个问题,当我使用 TinyPNG 压缩图像时,我收到此错误消息“资源解释为图像但使用 MIME 类型文本/html 传输”。然后我添加图像权限,它的工作原理。

【讨论】:

    【解决方案2】:

    对于 magento2 用户

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

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

    确保路径字符串区分大小写(对非 Windows 操作系统区分大小写)


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

    安装并启用 rewrite 模块

    a2enmod rewrite
    

    然后编辑

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

    在末尾添加以下行

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

    【讨论】:

      【解决方案3】:

      对我来说,这种 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? 重复,其中&lt;script src=""&gt; 是罪魁祸首。

      【讨论】:

        【解决方案4】:

        当我通过 img 标签包含 SVG 图像时,这发生在我身上。如果您通过标签包含 SVG 图像,则需要切换到 Object 标签: <object type="image/svg+xml" data="imageFile.svg"> Test SVG Logo </object>

        【讨论】:

          【解决方案5】:

          我的问题是 CSS 中的这一行

          background-image: url(''); 
          

          应该是这样的:

          background-image: none;
          

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              【解决方案7】:

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

              【讨论】:

              • +1,将“.JPG”更改为“.jpg”为我解决了这个问题。
              【解决方案8】:

              需要使用正确的 MIME 类型来提供图像 -

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

              AddType image/gif .gif
              

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

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

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

              【讨论】:

                【解决方案9】:

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

                我必须退出 2 个目录,然后进入有我的图像的那个。斜线之前的 .. 将您带出一个目录。每个 。带你出一个目录。

                例如。网址 (../Folder/ImagesFolder/image.gif)

                【讨论】:

                  【解决方案10】:

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

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

                  示例:

                  epicimage.jpg !== EpicImage.jpg
                  

                  感谢 Chrome 开发工具,可以很容易地找到问题。只需单击图像 url,我就可以看到我们的 404 页面。谜团解开了:D

                  【讨论】:

                    【解决方案11】:

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

                    因此,在 .htaccess 中,更改 cmets 以得到以下内容,并提供默认字符集 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 传输”

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

                    【讨论】:

                      【解决方案12】:

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

                      【讨论】:

                        【解决方案13】:

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

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

                        【讨论】:

                        • 这应该被标记为 IMO 的最佳答案 - 谢谢
                        • 是的,就我而言,它是 S 而不是小 s:P
                        【解决方案14】:

                        我基本上检查了 StackOverflow 上的所有类似问题,试图解决类似问题。

                        在更改我的 htaccess 文件和插入 php head 参数的所有尝试之后,为我解决的问题是...只是更改图片名称的大写。

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

                        【讨论】:

                          【解决方案15】:

                          发送的图像带有错误的标头,通过 .htaccess 将标头添加到图像类型

                          【讨论】:

                          • MIME 类型设置文件是什么,或者更确切地说,什么文件扩展名指的是什么文件类型。例如,“.html”文件扩展名是指 HTML 文档,“.zip”文件扩展名是指 ZIP 存档文件。服务器需要知道这一点,以便知道如何处理文件。
                          猜你喜欢
                          • 2014-05-20
                          • 2012-12-20
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2014-10-16
                          • 2011-07-18
                          • 2012-05-20
                          • 2014-07-12
                          相关资源
                          最近更新 更多