zjdong886 2010-02-03 16:56
浏览 295
已采纳

Servlet 在线打开Excel,pdf,word......

网上好多资料都说可以通过
  ServletOutputStream out = res.getOutputStream();
并且设置
// MIME type for pdf doc
    response.setContentType( "application/pdf" ); 

  // MIME type for MSWord doc
    response.setContentType( "application/msword" );

    response.setContentType("application/vnd.ms-excel");

response.setHeader("Content-Disposition", "inline; filename=\"" + filename + "\"");
我的代码如下
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
                ServletContext context = getServletConfig().getServletContext();
 //测试文件test.xls ,text.doc
File f = new File("D:\\test.pdf");
String filename = f.getName();
int length = 0;
ServletOutputStream op = response.getOutputStream();
response.setContentLength((int) f.length());

                //response.setContentType( "application/msword" );
               // response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-type","application/pdf");

response.setHeader("Content-Disposition", "inline; filename=\"" + filename + "\"");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);

byte[] bytes = new byte[1024];
DataInputStream in = new DataInputStream(new FileInputStream(f));
while ((in != null) && ((length = in.read(bytes)) != -1)) {
    op.write(bytes, 0, length);
}
op.close();
response.flushBuffer();
        }
}

 

只有PDF,Txt,Html 可以嵌入到网页中打开,Excel,Word为什么不能嵌入到网页中打开,

网上好多人都说这样可以,为什么我这里打不开呢!

我想嵌入到网页中打开,为什么不可以呢!

还有其它的设置吗?

各位大侠显身啊

 

 

  • 写回答

3条回答 默认 最新

  • 拽拽的初行者 2010-02-03 18:00
    关注

    设置在浏览器中打开,使用的是Http协议Header中的inline属性。

    先看看是不是浏览器设置的问题。

    是不是曾经在下载doc或者xls时,点击了“保存”而不是“打开”,并且选中了那个选项框。

    (IE)
    工具 --- Internet选项 --- 安全 --- 将所有区域重置为默认等级

    您可以换个浏览器试试。FireFox

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题