Servlet学习笔记---上传各种文件
来源:互联网 发布:考勤系统设计sql 编辑:程序博客网 时间:2024/06/01 07:12
response.setContentType("application/pdf");表示给客户端传送pdf类型的文件。
若是不设置,则默认类型为 “text/plain" 即纯文本类型
若是要返回一个Microsoft Word类型的文档,则将其设置为”application/msword" 。
若是要返回一个Excel类型的文档,则将其设置为”application/vnd.ms-excel" 。
这里以pdf类型为例。
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class PdfServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { response.setContentType("application/pdf"); ServletOutputStream out=response.getOutputStream(); File file=new File("G:/1.pdf"); FileInputStream is=new FileInputStream(file); byte[]b=new byte[1024]; int len=0; while((len=is.read(b))>0) { out.write(b, 0, len); } }public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}大体步骤:
1.设置类型
2.将文件转为文件输入流。
3.用ServletOutputStream 输出。
这里的浏览器若是有解析pdf类型文件的插件,则可以保存或者下载。
但若是浏览器没有对应的解析pdf的插件,既无法查看又无法下载。
为了解决这一问题:只需要在开始getOutputStream()一行下面,添加一句话:
response.setHeader("Content-disposition","attachment;filename=Servlet好厉害.pdf");
这样,即使没有响应的插件,也会下载 Servlet好厉害.pdf 对应的文件(实际上就是你在G盘读取的1.pdf)
0 0
- Servlet学习笔记---上传各种文件
- JSP Servlet学习笔记——使用fileupload上传文件
- JSP Servlet学习笔记——使用fileupload上传文件
- JSP Servlet学习笔记——使用fileupload上传文件
- JSP Servlet学习笔记——使用fileupload上传文件
- Servlet学习笔记 上传单个文件的方法
- Servlet学习笔记 同时上传多个文件的方法
- JSP&&SERVLET学习笔记(七):Servlet处理上传的文件
- Java for Web学习笔记(九):Servlet(7)上传文件
- [PHP]文件上传学习笔记
- PHP学习笔记:文件上传
- grails学习笔记-文件上传
- Spring上传文件学习笔记
- 网站上传文件学习笔记
- 【Spring学习笔记】文件上传
- OKHttp3学习笔记-文件上传
- Servlet学习笔记---request各种路径获得的区别
- GitHub学习笔记 --- 上传文件,删除文件
- CSU-1083 2016(暴力)(湖南省十二届大学生程序设计大赛)
- 线段树从零开始
- centos6.3(final) 编译安装php5.6
- CodeForces 455C Civilization(并查集+树直径)
- 图解 Android 事件分发机制
- Servlet学习笔记---上传各种文件
- 多态中对成员的调用
- 数据仓库02
- 关于servlet destroy() 方法的小误区
- android app 知识点总结
- L脚本语言编程实例
- 【在线笔试题解题报告系列】hihocoder #1368 积水的城市2
- 关于android surfaceview
- 放苹果——递归