Изображение WebP не отображается в Google Chrome через ASP.NET MVC - PullRequest
0 голосов
/ 21 апреля 2019

Я пытался использовать изображения Webp на моем веб-сайте, однако они будут отображаться как поврежденные изображения во всех браузерах.

Я попробовал решение из dejanstojanovic (Я не совсем понял, что там происходит, хотя я действительно понял, что проверял, совместим ли браузер с webp, а затем отправлял версию webp, если это было еще он отправил версию PNG или JPEG) однако, это не сработало. Точно так же я попробовал решение из deanhume , но также это не сработало. Оба кода возвращали файл webp, который должен поддерживаться chrome, однако на странице было поврежденное изображение. Я проверил, чтобы убедиться, что это не ошибка пути, поместив png-файл и webp-файл в одну папку и отобразив их оба. Файл png работает отлично, однако файл webp отсутствует. Кроме того, файл webp также работает, если я использую необработанный HTML, но только не с ASP.NET.

_layout.cshtml

        <h5 class="footer-header">Contact Info</h5>
        <p class="footer-text">Contact us if you want a custom made dress, or just want to know where your package might be.</p>
        <div class="row">
            <div class="col-md-1">
                <img style="height:50px; width:50px" src="~/Images/LocationPin100h.webp" />
                <img style="height:50px; width:50px" src="~/Images/LocationPin100h.png" />
            </div>
        </div>

web.config в папке представлений

<system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
      <remove name="WebPHandler" />
      <add name="WebPHandler" type="Web.Images.WebP.RequestHandler, Web.Images.WebP" path="*.webp" verb="GET" />
    </handlers>
    <staticContent>
      <mimeMap fileExtension=".webp" mimeType="image/webp" />
    </staticContent>
  </system.webServer>

как это выглядит на странице: https://ibb.co/QjJkqv7

enter image description here

1 Ответ

0 голосов
/ 22 апреля 2019

Я понял это.Есть два файла Web.config.Один находится в корневой папке проекта, а другой - в папке представлений.Мне пришлось добавить:

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".webp" mimeType="image/webp" />
  </staticContent>
</system.webServer>

в файл web.config, расположенный в корневой папке, а не в тот, который находился в папке представлений, как я делал ранее.

...