【问题标题】:Does the WinForms WebBrowser control support mhtml content set by the DocumentText property?WinForms WebBrowser 控件是否支持 DocumentText 属性设置的 mhtml 内容?
【发布时间】:2008-10-20 22:47:02
【问题描述】:

或者,如果有任何机构知道替代控制可以做到这一点?

将内容提供给具有来自数据库的嵌入式图像和其他资源的 WebBrowser 控件会很方便,而无需依赖托管在网络服务器上的这些资源或在本地文件系统上创建临时文件。

Mhtml 支持这一点,但在使用 DocumentText 属性时似乎在 WebBrowser 控件中不起作用?

【问题讨论】:

    标签: winforms


    【解决方案1】:

    我认为使用 DocumentText 属性不可能实现您想要实现的目标。 MHTML 是一种文档存档格式,虽然它存储为带有二进制数据(如图像等)编码为 base64 字符串的文本,但似乎没有任何智能内置到 webbrowser 控件的 DocumentText 属性中来读取此文件格式。使用 Reflector 查看此属性,您会发现使用了不同的机制来处理此问题,而不是 Url 属性,后者通过底层 COM 对象调用 webbrowser 控件的“胆量”。

    您似乎也无法通过写入 DocumentStream 属性来完成此操作。

    【讨论】:

      【解决方案2】:

      似乎对我有用。

      示例:

      this.webBrowser1.Url = new System.Uri(@"C:\TempFiles\MyTest.mht");
      

      特别是什么不能正常工作?

      【讨论】:

        【解决方案3】:

        您可以创建一个包含所有图像的标准编译资源程序集(非托管,不确定托管),然后像这样链接到库:

        可以在这里找到一篇非常好的文章和一个好的实现: http://www.delphidabbler.com/articles?article=10

        我个人只是将 vb6 编译器用于资源并链接到它们,但大多数非托管编译器都会做同样的事情。

        【讨论】:

          【解决方案4】:

          【讨论】:

            【解决方案5】:

            【讨论】:

            • 这没有回答问题。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-01-03
            • 2011-01-13
            • 2012-01-21
            • 2016-06-30
            • 2013-05-23
            相关资源
            最近更新 更多