【问题标题】:C# UWP displaying remote image loaded over HTTPS in WebviewC# UWP 在 Webview 中显示通过 HTTPS 加载的远程图像
【发布时间】:2020-03-02 12:40:04
【问题描述】:

我有一个 UWP 应用程序,它有一个本地 HTML 文件,该文件有一个 IMG 标签,可通过 HTTPS 加载远程图像。 例如

<img src="https://www.tokntechnology.com/app/themes/tokn/src/JuiceBox/Blocks/HomeBanner/time-cap.png">

HTML 文件已正确加载并显示除图像之外的所有其他内容。无论如何都不会加载图像(https),并且在任何地方都没有错误消息。如果我将图像更改为非安全图像 (http),它会毫不费力地加载到 webview 中。

我有什么遗漏吗?我想通过 HTTPS 在 webview 中加载图像。与之前提出的问题不同,要加载的图像是只能通过 HTTPS 获得的远程图像。

【问题讨论】:

    标签: c# .net webview uwp


    【解决方案1】:

    这是浏览器的相同引荐来源政策。总之,如果你的网页请求与图片所在的服务器地址相同,则可以显示图片,否则无法正常显示。

    所以,为了能够正确显示图片,可以修改HTML,让前端不发送referrer信息。

    <head>
        <meta charset="utf-8" />
        <title></title>
        <meta name="referrer" content="no-referrer" />
    </head>
    

    添加此元数据后,如果图片不进行其他加密操作,将正常显示。

    最好的问候。

    【讨论】:

    • 即使在 HTML 中添加了该元标记后,HTTPS 图像仍然不会显示图像。
    • 您好,图片有问题吗?添加元数据后,此图像可以正常显示。你能展示你的代码吗?
    【解决方案2】:

    这个问题没有逻辑上的解释,所以解决方法是新建一个项目,将所有文件从旧的导入到这个新项目中。

    完成此操作后,一切都开始正常工作,所有图像都按预期显示。对于在 C# 项目中可能有奇怪行为的任何其他人来说,这是一个解决方案。

    【讨论】:

      猜你喜欢
      • 2016-12-12
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 2014-04-28
      • 1970-01-01
      • 2017-05-15
      • 1970-01-01
      相关资源
      最近更新 更多