将包含图像的内容获取到 Web 浏览器控件中,无需临时文件
对于客户端服务器应用程序,我想使用带有图像的 Web 浏览器控件显示内容,而不将临时文件写入磁盘。
我尝试通过 documentstream 和 documenttext 使用 mht 文件,但 Web 浏览器控件不够智能,无法识别 mht 文件。
我会使用数据 URI 图像,但是大多数安装此图像的计算机都使用 IE6 或 7。
还有其他选项吗?
For a client server application, I'd like to display content with a web browser control with images without writing temporary files to the disk.
I've tried using mht files via documentstream and documenttext, but the web browser control isn't smart enough to recognize mht files.
I would use data URI images, however most computers this will be installed on use IE6 or 7.
Are there any other options for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不确定它是否有帮助,但也许您可以尝试使用不同的浏览器控件,例如 WebKit .NET ?
这样您就可以确定它的功能(mht、数据 URI 等)。
我知道 Microsoft Web 浏览器组件有多么痛苦。
I'm not sure if it would help at all, but maybe you could try using a different browser control such as WebKit .NET?
That way you could be certain about its features (mht, data URI, etc.)
I know how much of a pain the Microsoft web browser component can be.
加载网站,但添加
no-cache
标头。类似如下:Load the Web site, but add a
no-cache
header. Something like as follows:您可以注册自己的图像协议
如果想走MHTML路线,需要自己调用文档的IPersistStreamInit/IPersistMoniker。如果我没记错的话,WinForm WebBrowser 控件假定输入流为 UTF-8,并且不提供 IMoniker 实现来让您指定文档的基本 url。
请注意,IE 的 MHTML 支持存在一些限制,例如并非支持所有协议、MHTML 附件的站点限制、手机上缺乏 MHTML 支持以及不带 Outlook Express 或 Word 的早期 Windows PC 版本等。
You can register your own protocol for images
If you want to go through the MHTML route, you need to call the document's IPersistStreamInit/IPersistMoniker by yourself. If I remember correctly the WinForm WebBrowser control assumes the input stream to be UTF-8, and does not provide a IMoniker implementation to let you specify the base url of the document.
Note there are some limitations on IE's MHTML support, such as not all protocols are supported, site limits on MHTML attachments, lack of MHTML support on mobile phones and early versions of Windows for PC without Outlooks Express or Word, etc.