Webp 图像未通过 ASP.NET mvc 显示在谷歌浏览器上

我一直在尝试在我的网站上使用 Webp 图片,但是它们在所有浏览器上都会显示为损坏的图片。


我已经尝试了dejanstojanovic的解决方案(我没有完全明白那里发生了什么,虽然我确实知道它正在检查浏览器是否与 webp 兼容,然后发送 webp 版本,否则它发送了 png 或 jpeg版本)但是,那没有用。同样,我尝试了deanhume的解决方案,但同样也没有用。这两个代码都返回了一个 webp 文件,chrome 应该支持该文件,但是页面上有一个损坏的图像。我通过将 png 文件和 webp 文件放在同一文件夹中并同时显示它们来检查以确保这不是路径的错误。png 文件完美运行,但是缺少 webp 文件。此外,如果我使用原始 HTML,webp 文件也可以工作,只是不适用于 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>

views 文件夹中的 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

http://img.mukewang.com/63a6668b000182b502170285.jpg

泛舟湖上清波郎朗
浏览 73回答 1
1回答

拉风的咖菲猫

我想通了。有两个 Web.config 文件。一个位于项目根文件夹中,一个位于 views 文件夹中。我不得不补充:<system.webServer> &nbsp;&nbsp;<staticContent> &nbsp;&nbsp;&nbsp;&nbsp;<mimeMap&nbsp;fileExtension=".webp"&nbsp;mimeType="image/webp"&nbsp;/> &nbsp;&nbsp;</staticContent> </system.webServer>进入位于根文件夹中的 web.config 文件,而不是像我之前那样位于 views 文件夹中的文件。
打开App,查看更多内容
随时随地看视频慕课网APP