以编程方式生成.mht文件

时间:2012-04-03 19:16:28

标签: c# mhtml

有人知道如何在C#中以编程方式生成.mht文件 嵌入图像吗?事情是我已经意识到.mht文件 能够在其中嵌入图像,以及嵌入的图像 当您更改其位置时,移动整个文件(mht)。和 此文件可以在不同的浏览器上查看,包括IE 6。

我被告知要尝试Data Url Scheme技术。但它无法奏效,因为 它不受其他浏览器的支持。例如IE 6。

4 个答案:

答案 0 :(得分:6)

在Windows环境中,您可以通过 CDO.Message COM组件直接执行此操作,该组件公开IMessage interface
我不知道在C#中导入COM对象的细节,所以我将给你一个类似C语法的快速示例:

IMsgObj = CreateObject("CDO.Message")   // create the object
IMsgObj.CreateMHTMLBody("http://www.example.com/") // convert the URL to MHTML
IMsgObj.GetStream().SaveToFile("output.mht")  // save it to a file

CDO.Message组件的CLSID为{CD000001-8B95-11D1-82DB-00C04FB1625D}

请记住,此组件用于生成电子邮件(.eml文件扩展名而不是.mht),这意味着不包含JavaScript文件。否则它们大致相同。

答案 1 :(得分:5)

这是可能的,并且肯定是由其他人完成的 - 相关材料和库/源代码:

答案 2 :(得分:1)

我从RFC 2557开始,以便我对我正在使用的内容有一些基本的了解。然后去寻找处理它的code/libraries

据我所知,没有BCL课程来处理MHTML。

答案 3 :(得分:1)

MSDN has a great article(2011年6月)关于如何使用CDO和System.Net.Mail创建MHT文件。 C#源代码包含在内。我会在VB.Net或Google Code版本上面使用它。

相关问题