网上好多资料都说可以通过
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();
}
}
分享到:
相关推荐
本代码demo是实现对word、excel、txt、pdf、jpg的在线预览功能,为了方便简单,使用的是servlet技术,jar包也在项目中,启动项目前需要参照PreviewServlet类进行配置,访问页面是preview.html
66. 打开Word和Execl文件? 67. 生成Word 和 Excel文档? 68. JSP如何读取Word内容? 69. 浏览服务器目录/文件? 70. jsp直接弹出下载框下载文件? 71. 配置数据连接池和数据源(Tomcat)? 72. 点击图1变为图2? 73. JSP...
Counting Pages of PDF Documents on Mac OS X Recipe 2.25. Changing File Attributes on Windows Recipe 2.26. Extracting Text from OpenOffice.org Documents Recipe 2.27. Extracting Text from ...
打开Word和Execl文件? 67. 生成Word 和 Excel文档? 68. JSP如何读取Word内容? 69. 浏览服务器目录/文件? 70. jsp直接弹出下载框下载文件? 71. 配置数据连接池和数据源(Tomcat)? 72. 点击图1...
18 操作Excel文件 7. 19 操作PDF文件 7. 20 自定义日志文件类 第8章 线程 8. 1 定义和启动线程 8. 2 停止线程 8. 3 线程的互斥 8. 4 线程的协作 8. 5 线程join 8. 6 生产者. ...
实例236 门锁终于被打开了(解决死锁) 446 实例237 一个死锁的例子 448 13.3 线程的优先级 451 实例238 排座位(线程优先级) 451 实例239 赛车 454 13.4 定时器 458 实例240 定时器(Timer) 458 实例241 数字...
JSP指令与动作,JSP内部对象,JavaScript脚本在JSP编程中的使用,JavaBean在JSP中的基本概念及其属性与方法,数据库的连接方式,绘图方法,实现邮件的收发功能,打印Word、Excel和PDF格式的报表,Servlet基础知识,...
可用数据文件(能被Excel 97打开);Oracle 8.1.x表格空间文件 DBX:DataBearn图像;Microsoft Visual FoxPro表格文件 DCT:Microsoft Visual FoxPro数据库容器 DCU:Delphi编译单元文件 DCX:Microsoft Visual...
word、 excel等运行在木机上的应用就属」桌面应用。 2:企业级应用 先解释一下企业级应用:简单的说是大规模的应用,一般使用人数较多,数据量较大, 对系统的稳定性、安全性、可扩展性和可装配性等都有比较高的要求 这是...
实例139 利用POI读取Word文件中的内容 208 7.3 字符流 209 实例140 按顺序创建文件 210 实例141 按顺序读取文件 211 实例142 追加文件内容 211 实例143 只显示文件中指定的字符 214 实例144 ...
实例236 门锁终于被打开了(解决死锁) 446 实例237 一个死锁的例子 448 13.3 线程的优先级 451 实例238 排座位(线程优先级) 451 实例239 赛车 454 13.4 定时器 458 实例240 定时器(Timer) 458 实例241 ...
实例139 利用POI读取Word文件中的内容 208 7.3 字符流 209 实例140 按顺序创建文件 210 实例141 按顺序读取文件 211 实例142 追加文件内容 211 实例143 只显示文件中指定的字符 214 实例...
实例236 门锁终于被打开了(解决死锁) 446 实例237 一个死锁的例子 448 13.3 线程的优先级 451 实例238 排座位(线程优先级) 451 实例239 赛车 454 13.4 定时器 458 实例240 定时器(Timer) 458 实例241 数字...
2.24 在Mac OS X平台上统计PDF文档的页数 94 2.25 在Windows平台上修改文件属性 95 2.26 从OpenOffice.org文档中提取文本 96 2.27 从微软Word文档中抽取文本 97 2.28 使用跨平台的文件锁 98 2.29 带版本号的...