我用cdo的方法,从html文件中提取了部分网页内容(包括图片)生成mht文件,但是图片没有固化到mht文件中,就是说,当我把源网页移走之后,图片就不能正常显示了。也就是说仍然依附于源网的页图片路径。请问这是怎么回事?? 
谢谢!!!!!

解决方案 »

  1.   


    另外,楼主,能把你的CDO的dll 给我发一份吗?
      

  2.   

    哦,忘了,我的Email: flyingfz#gmail.com      
      

  3.   

    把你的代码贴出来
    我保存远程的没问题
    本地没IIS没法测试
      

  4.   

      代码如下:                                     string _url = @"E:\11\aa.htm";              
                        WebRequest wreq1 = WebRequest.Create(_url);//_url是字符串,代表要得到的网页。   
                        WebResponse wres1 = wreq1.GetResponse();
                        Stream stream1 = wres1.GetResponseStream();//这里得到的流是网页内容   
                        StreamReader objReader1 = new StreamReader(stream1);                    string Line = "";
                        Line = objReader1.ReadToEnd();
                        Line = Line.Replace("zhuti", temstring2);
                        Line = Line.Replace("<td>Author:zuozhe</td>", "<td>Author:"+temstring3 +"</td>");
                       Line = Line.Replace("quanwen", concatstring1);                    StreamWriter sw1 = new StreamWriter(@"E:\11\bb.htm", false);
                        sw1.WriteLine(Line);                    objReader1.Close();
                        sw1.Close();
                                      CDO.Message msg = new CDO.MessageClass();
                        CDO.Configuration cfg = new CDO.ConfigurationClass();                    msg.Configuration = cfg;
                        try
                        {
                            msg.CreateMHTMLBody("file://" + @"E:\11\bb.htm", CDO.CdoMHTMLFlags.cdoSuppressNone, " ", " ");                        msg.GetStream().SaveToFile(arryhtm_no_pdf[i].ToString() + ".mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite);                    }
                        catch (Exception e1)
                        {
                            MessageBox.Show(e1.Message);
                        }
      

  5.   

    我试过本地的文件
    如果HTML中的图片是绝对地址就没问题
    但是如果是相对地址就不行
    所以你可以先解析下HTML
    把图片解析成绝对地址
      

  6.   

    HTML代码<html>
    <head></head>
    <body>
    <table>
    <tbody>
    <tr>
    <td><img src="1.jpg" /><!-- <td><img src="file://e:/1.jpg" /></td> --></td>
    </tr>
    </tbody>
    </table>
    </body>
    </html>
    把注释掉的内容替换下就可以了
      

  7.   

    你把你的HTML和代码发出来
    我测试是没问题的