ie默认下载也应该是这样处理的,你如果能找到它的标志位,并且你的标志位设成跟它一样的话,有可能ie可以实现自动判断多个文件,下完一个再弹出一个下载框下第二个文件

解决方案 »

  1.   

    好像ie默认标志位为
    start:   {0x0D,0x0A,0x0D,0x0A}
    end:     {0x0D, 0x0A, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D,
              0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D,
              0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D,
              0x2D}
      

  2.   

    我现在已经做出测试页面来了,但是在本机的没有问题,在其他人机器上通过ie访问我的下载页面就出错了。方法是从这篇文章找到的:http://www.pstruh.cz/tips/detpg_multiple-files-one-request.htm ,原理就如同“一般的网页的里放置了很多图片。那些图片在页面显示的时候不是也被下载了吗?我们这里只不过是把图片换成文件而已。“所以,一切实现都在于response的header设置里面。利用的协议是mime.通过把ServletOutputStream输出的数据流里设置好各个文件的boundary(边界),然后由ie来自动识别出来。还有就是,这样做的话。好像不会跳出那个下载文件的dialog。具体实现上面的文章里都讲清楚了。我还发现ie6打过sp1的补丁后好像就不能正确识别出这个数据流了。我下面把输出的结果贴出来,那位高手给我看一看吧?