При загрузке нового изображения продукта для моего магазина Magento я получаю ниже ошибки.
Resource interpreted as image but transferred with MIME type text/html
Есть ли причина, почему это происходит?
При загрузке нового изображения продукта для моего магазина Magento я получаю ниже ошибки.
Resource interpreted as image but transferred with MIME type text/html
Есть ли причина, почему это происходит?
Это может произойти, если ваш путь изображения установлен неправильно. Например, по отношению к текущему каталогу "images/myimage.gif" по отношению к веб-корню "/images/myimage.gif".
Ссылка на "text/html" может указывать на то, что сервер возвращает ошибку.
Я заметил эту проблему, возникшую в моем журнале JavaScript Console. Это был простой пример файла CSS, который ищет фоновое изображение, которого не было, и сервер отправляет сообщение об ошибке 404 на своем месте.
Нужно обслуживать изображения с соответствующим типом MIME -
Добавьте эту строку в файл .htaccess(предположим, что apache2 httpd):
AddType image/gif .gif
Подсказка : mod_rewrite может потребовать исключения для изображений:
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
Я проверил в основном каждый аналогичный вопрос в StackOverflow, пытающийся решить подобную проблему.
После всех попыток изменить файл htaccess и вставки аргументов php head, для меня это было исправлено... просто изменив заглавные буквы на имени рисунка.
Тьфу. (Он отлично работал в одном и том же браузере с локальным размещением тоже... так что, конечно, я бы не подумал, что это проблема изначально.)
После многих исследований я обнаружил, что проблема вызвана комбинацией вещей, приводящих к тому, что сервер не знает, какой тип документа он имеет и смешивается между типами кодирования, такими как 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"
И сделанные изображения отображаются в других браузерах (там, где не было обнаружено ошибок).
Пожалуйста, проверьте расширение вашего изображения, независимо от того, использовала ли программа создание образа, его расширение с заглавными буквами или маленькими буквами, некоторые серверы читают их разные.
Моя проблема была с этой строкой в CSS
background-image: url('');
Что должно было быть:
background-image: none;
Для меня мой путь был установлен неверно относительно файла css, который пытался вытащить изображение из того, что вызвало ошибку в консоли.
Мне пришлось выходить из 2-х каталогов, а затем в тот, который имел мой образ. Перед тем, как косая черта выведет вас из каталога. Каждый. выдает еще один каталог.
ех. url (../Folder/ImagesFolder/image.gif)
Если ваш путь к изображению и имя файла с учетом регистра установлены правильно, и если вы не можете изменить файл своего сервера .htaccess, кодирование SVG в качестве URI данных является интерфейсным решением. css-tricks.com объясняет, как: http://css-tricks.com/using-svg/
Это произошло со мной, когда я включил изображение SVG через тег img. Если вы включаете изображение SVG через тег, вам нужно вместо этого переключиться на тег объекта:
<object type="image/svg+xml" data="imageFile.svg">
Test SVG Logo
</object>
Для меня эта ошибка типа mime проявилась только при тестировании Safari 4.05 на клиентские требования и только в консоли. В конечном счете это было вызвано тем, что Safari не справляется с дизайном javascript element.style.backgroundImage="url()";
. Очевидно, что Safari искал этот пустой URL-адрес, поэтому для Strixy и stevecomrie "никто" не лучший выбор. Это, по существу, та же проблема, что и выше, как близкий дубликат ресурса, интерпретируемый как другой, но переносимый с текстом /javascript типа MIME, в котором виновником был <script src="">
.
Для пользователей 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>
Возможно, изображения не имеют разрешения на чтение
У меня также возникла эта проблема, когда я использую TinyPNG для сжатия изображений, я получил это сообщение об ошибке "Ресурс, интерпретируемый как изображение, но перенесенный с текстом типа MIME/html". Затем я добавляю разрешение изображений, он работает.
изображение отправляется с неправильными заголовками, добавляет заголовки к типу изображения через .htaccess