网页另存为mht文件,以二进制形式存入数据库,再从数据库中读取显示在IE上。显示代码如下:Response.Buffer = true
Response.Clear();
Response.ContentType = "message/rfc822" //输出类型
Response.Charset = "gb2312";
Response.BinaryWrite((byte[])(dt.Rows[0]["Chapter_Data"]));//输出数据。出现的问题:该面代码在有的客户端显示正常,有的客户端长时间无反应,还有的机器有时正常,有时长时间无反应,猜测(只是猜测)可能是IE版本或操作系统版本问题。但不知道具体情况是怎样的。希望知道的朋友能给个解决方案。很长时间没解决了。特无助。
先谢谢了。

解决方案 »

  1.   

    Response.ContentType= "message/rfc822"
    为什么是这个?
    为什么不是"text/html"?
      

  2.   

    这个问题注意很久了,mht本身有问题。举例而言,随便找一篇msdn的文章,然后save成mht,就会发现,再打开的时候很慢,如果先存成html,很难把纯内容(刨去上边、左边的框架)save成mht。如果要save,有三步
    1、去掉正文html中的"if(self!==top)"那行
    2、去掉正文html中的"<!-- saved"那行这样就可以save成mht但是打开还是很慢要解决必须在前面加第三步
    3、去掉toolbar.js但是这时候得到的mht打开之后格式不行,要做到必须
    4、所有对css的引用,必须保证目录存在。你的问题,估计是3和4
      

  3.   

    好象不是mht文件本身问题。因为同一个mht读出后再显示,是有的客户端能显示。有的则不能。
    估记是环境调协或版本问题。不过太难找了。实在不行只能换方式了。
    各位有没有其他的方法解决这个mht问题?帮忙说一下。
      

  4.   

    http://www.codeproject.com/aspnet/aspnethtml2mht.aspConvert HTML to MHTML using ASP.NET
      

  5.   

    >>该面代码在有的客户端显示正常,有的客户端长时间无反应what are these 客户端? IE5?Response.ContentType = "message/rfc822";
    Response.AddHeader("content-disposition", "inline; filename=test.mht");
    ...
    Response.End();
      

  6.   

    首先谢谢各位的关注。 saucer(思归) :客户端均为IE6.0小版本也一致,操作系统一样win2000server sp4另外我看到一篇文章,不知道和我这问题是否有关联,实话说,看不太懂。
    http://www.microsoft.com/china/security/Bulletins/MS03-014.asp
    大侠们帮忙给看看。如果有关,希望给兄弟个解决的途径。
      

  7.   

    没有见过这样的问题,你把那个mht文件直接保存到客户端,然后试试用浏览器看能否打开?