“ADODB.StreamClass”的 COM 报错.求大神们.这个问题.是读取后缀为.eml 格式的时候 使用 ADODB.Stream读取
“ADODB.StreamClass”的 COM 报错.求大神们.
这个问题.是读取后缀为 .eml 格式的时候 使用 ADODB.Stream读取报错.
本地测试没问题.服务器就出错了.╮(╯▽╰)╭.
自己弄了2天了,没解决.求大神帮助
[最优解释]
这个我试过了. 元旦放假3天还是没解决出来.
[其他解释]你可以采用开源的代码进行读取
http://sourceforge.net/projects/sasa/files/
或者
http://www.codeproject.com/KB/office/EML_ReaderEx.aspx
[其他解释] 定义成StreamClass而不是Stream试试
[其他解释]就是不知道要注册什么,所以还没找出问题来.
我也是估计是服务器缺少某个dll或者未注册.但是具体我不清楚.
[其他解释]试了不行,还是一样
[其他解释]这是我后台代码 ashx文件里面的.
/// <summary>
/// 读取eml格式文件
/// </summary>
/// <param name="file">路径</param>
/// <returns></returns>
public string ReadEML(string file)
{
CDO.Message oMsg = new CDO.Message();
ADODB.Stream stm = null;
//读取EML文件到CDO.MESSAGE,做分析的话,实际是用了下面的部分
try
{
stm = new ADODB.Stream();
stm.Open(System.Reflection.Missing.Value,
ADODB.ConnectModeEnum.adModeUnknown,
ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified,
"", "");
stm.Type = ADODB.StreamTypeEnum.adTypeBinary;//二进制方式读入
stm.LoadFromFile(file); //将EML读入数据流
oMsg.DataSource.OpenObject(stm, "_stream"); //将EML数据流载入到CDO.Message,要做解析的话,后面就可以了。
}
catch (IOException ex)
{
throw ex;
}
finally
{
stm.Close();
}
return oMsg.HTMLBody;//oMsg里包含了邮件相关的所有信息
}
[其他解释]
本地测试没问题.服务器就出错了.╮(╯▽╰)╭.
这个需要注册什么组件不。
[其他解释]
注册ADODB.Stream组件
regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll"
[其他解释]
刚刚在尝试 http://www.codeproject.com/KB/office/EML_ReaderEx.aspx.
有几点不太明白. 返回的 return PgUtil.StripHTML(sText);
PgUtil是哪里类?
[其他解释]PgUtil是自定义的类或者dll里面的,你下载代码的里面应该有
[其他解释]都下载下来了. 源文件 只有3个类. 其他没有啥DLL.
你方便留下QQ吗.向你请教
[其他解释]顶贴哇.. 木人鸟我.. 还木有解决哇.
[其他解释]已搞定.
[其他解释]怎么搞定的啊,我也遇到这个问题
[其他解释]null