Ресурс интерпретируется как изображение, но передается с текстом типа MIME/html - Magento

При загрузке нового изображения продукта для моего магазина Magento я получаю ниже ошибки.

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

Есть ли причина, почему это происходит?

Ответ 1

Это может произойти, если ваш путь изображения установлен неправильно. Например, по отношению к текущему каталогу "images/myimage.gif" по отношению к веб-корню "/images/myimage.gif".

Ссылка на "text/html" может указывать на то, что сервер возвращает ошибку.

Ответ 2

Я заметил эту проблему, возникшую в моем журнале JavaScript Console. Это был простой пример файла CSS, который ищет фоновое изображение, которого не было, и сервер отправляет сообщение об ошибке 404 на своем месте.

Ответ 3

Нужно обслуживать изображения с соответствующим типом MIME -

Добавьте эту строку в файл .htaccess(предположим, что apache2 httpd):

AddType image/gif .gif
Подсказка

: mod_rewrite может потребовать исключения для изображений:

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

... все остальное может быть действительно 404.

Ответ 4

У меня была одна и та же проблема один раз из-за капитализации.

Мои коллеги работали над Mac и добавили некоторые файлы с верблюжьим корпусом, но в CSS они появились в нижней части. Это отлично работает на Mac, но я работал над Linux. Mac не различает имена файлов, имеющих разные случаи, но Linux делает. Большинство серверов там работают в Linux.

Пример:

epicimage.jpg !== EpicImage.jpg

Благодаря Chrome Dev Tools проблема может быть найдена очень легко. Просто щелкнув по изображению, url показал мне нашу страницу 404. Тайна решена: D

Ответ 5

Я проверил в основном каждый аналогичный вопрос в StackOverflow, пытающийся решить подобную проблему.

После всех попыток изменить файл htaccess и вставки аргументов php head, для меня это было исправлено... просто изменив заглавные буквы на имени рисунка.

Тьфу. (Он отлично работал в одном и том же браузере с локальным размещением тоже... так что, конечно, я бы не подумал, что это проблема изначально.)

Ответ 6

После многих исследований я обнаружил, что проблема вызвана комбинацией вещей, приводящих к тому, что сервер не знает, какой тип документа он имеет и смешивается между типами кодирования, такими как 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 (спасибо mr google): "ресурс интерпретируется как изображение, но передается с типом mime type/html"

И сделанные изображения отображаются в других браузерах (там, где не было обнаружено ошибок).

Ответ 7

Пожалуйста, проверьте расширение вашего изображения, независимо от того, использовала ли программа создание образа, его расширение с заглавными буквами или маленькими буквами, некоторые серверы читают их разные.

Ответ 8

Моя проблема была с этой строкой в ​​CSS

background-image: url(''); 

Что должно было быть:

background-image: none;

Ответ 9

Для меня мой путь был установлен неверно относительно файла css, который пытался вытащить изображение из того, что вызвало ошибку в консоли.

Мне пришлось выходить из 2-х каталогов, а затем в тот, который имел мой образ. Перед тем, как косая черта выведет вас из каталога. Каждый. выдает еще один каталог.

ех. url (../Folder/ImagesFolder/image.gif)

Ответ 10

Если ваш путь к изображению и имя файла с учетом регистра установлены правильно, и если вы не можете изменить файл своего сервера .htaccess, кодирование SVG в качестве URI данных является интерфейсным решением. css-tricks.com объясняет, как: http://css-tricks.com/using-svg/

Ответ 11

Это произошло со мной, когда я включил изображение SVG через тег img. Если вы включаете изображение SVG через тег, вам нужно вместо этого переключиться на тег объекта: <object type="image/svg+xml" data="imageFile.svg"> Test SVG Logo </object>

Ответ 12

Для меня эта ошибка типа mime проявилась только при тестировании Safari 4.05 на клиентские требования и только в консоли. В конечном счете это было вызвано тем, что Safari не справляется с дизайном javascript element.style.backgroundImage="url()";. Очевидно, что Safari искал этот пустой URL-адрес, поэтому для Strixy и stevecomrie "никто" не лучший выбор. Это, по существу, та же проблема, что и выше, как близкий дубликат ресурса, интерпретируемый как другой, но переносимый с текстом /javascript типа MIME, в котором виновником был <script src="">.

Ответ 13

Для пользователей magento2

Если вы изменили этот файл приложение /etc/di.xml со следующим

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

убедитесь, что строка пути - это Case Sensitive (CaseSensitive для не Windows)


Если вы столкнулись с 404 ошибками после установки magento2 в Ubuntu.

Установить и включить переписать модуль

a2enmod rewrite

Затем Edit

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

Добавьте следующие строки в конец

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

Ответ 14

Возможно, изображения не имеют разрешения на чтение

У меня также возникла эта проблема, когда я использую TinyPNG для сжатия изображений, я получил это сообщение об ошибке "Ресурс, интерпретируемый как изображение, но перенесенный с текстом типа MIME/html". Затем я добавляю разрешение изображений, он работает.

Ответ 15

изображение отправляется с неправильными заголовками, добавляет заголовки к типу изображения через .htaccess