这个问题.是读取后缀为 .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,要做解析的话,后面就可以了。
}