江湖数据 2023-04-17 18:01 采纳率: 0%
浏览 56

C# Winform中 webView2加载内嵌程序集资源 都有什么方法

C# Winform中 webView2加载内嵌程序集资源 都有什么方法

我目前研究到一种,但是这个办法欠妥当,寻求其他方式。

以下是我研究的方法

img

img


            string objdata = string.Empty;
            using (var sm = typeof(Form1).Assembly.GetManifestResourceStream("测试view2.Res.index.html"))
            {
                var data = new byte[sm.Length];
                sm.Read(data, 0, data.Length);
                objdata = Encoding.UTF8.GetString(data);
            }
            webView21.CoreWebView2.NavigateToString(objdata);
  • 写回答

2条回答 默认 最新

  • wanghui0380 2023-04-18 08:45
    关注

    1.可以将内部件映射到虚拟路径上
    官方文档说明
    https://github.com/MicrosoftEdge/WebView2Feedback/blob/main/specs/HostResourceMapping.md
    例子是将本地一个目录映射到虚拟域名上

    2.你是内嵌资源不是本地目录,不过没有啥关系。我们依旧可以“虚拟映射”
    nuget:Microsoft.Extensions.FileProviders.Embedded
    我们给自己的程序系统加个虚拟的嵌入文件提供就行

    你也可以如官方这样,直接指定一个虚拟域名,然后对这个虚拟域名的资源访问进行拦截处理

    https://github.com/MicrosoftEdge/WebView2Feedback/blob/main/specs/WebResourceRequested-CustomScheme.md

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月17日