tomcat服务器端下载程序设置 content-disposition inline ,客户端 win7 ie8 中打开 word 附件,会提示安全框,要求输入凭据

tomcat服务器端设置 content-disposition inline  ,客户端 win7 ie8 中打开 word 附件,会提示安全框,要求输入凭据。

经过测试,只有word 附件才会有问题,其他的附件不会,临时解决办法:

    
      byte[] content = new byte[8192];
      int i = 0;
      java.io.File file = new java.io.File("c:/test.doc");
      java.io.FileInputStream is = new java.io.FileInputStream(file);
      response.setContentType("text/plain");//关键点,本来word附件的类型是 application/msword,只是为了“欺骗”ie 才这样改。实际下载的时候浏览器会根据文件的扩展名来找到word 程序打开附件
      response.addHeader("Content-Disposition", "inline; filename=test.doc");

response.addHeader("Connection", "keep-alive");//用长连接,整个word 下载一次完成

response.addHeader("Cache-Control","private");

response.setContentLength((int)file.length());


      java.io.OutputStream ou = response.getOutputStream();
 
      while ((i = is.read(content)) != -1) {
          ou.write(content, 0, i);
          ou.flush();
      }
      is.close();
      ou.close();

猜你喜欢

转载自blog.csdn.net/starzxf/article/details/6746876