2009-08-12 159 views
2

有没有人知道在.NET中使用MHT文件(Multi-Part MIME files)的任何库?我需要以编程方式从包含Flash网站的现有MHT文件中提取内容。我一直无法找到任何这样的图书馆。另外,如果在.NET中有本地方式,我不知道,请随时让我知道。从MHT文档中提取内容

编辑:我知道MailMessage类支持通过AlternateViews property的多部分MIME消息。 AlternateView类表示多部分MIME消息中的替代视图。我想相信可以使用这些知识来构建使用.NET框架本地代码的东西。我只是无法找到合适的组合来使它工作,所以我开始失去信心。有没有人知道是否可以通过AlternateView和其他相关类来提取MHT文件的内容?例如,如果可以从Stream创建MailMessage类的实例,那将会很好。

回答

0

大卫·本克做的非常出色here他的github项目。我最近遇到了这个问题,我有一个需要转换为HTML文件的mhtml。为此,我用HTMLAgility包DLL中提取从MHTML文件和饲料内容在此内容大卫提供的库:

string filePath = @"D:\Temp\myfile.mhtml"; 
var doc = new HtmlDocument(); 
doc.Load(filePath); 
string mhtml = doc.DocumentNode.OuterHtml; 
MHTMLParser parser = new MHTMLParser(mhtml); 
string htmlContent = parser.getHTMLText(); 
System.IO.File.WriteAllText(@"D:\Temp\file.html", htmlContent); 

我真的很感激,如果有人可以验证这种方法。 Cheers Vaqar