Servlet------文件的下载
2016-04-21 15:51
211 查看
package cui.ys.request;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ResponseDemo2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
String path=this.getServletContext().getRealPath("/download/截图.png");
System.out.println(path);
String filename =path.substring(path.lastIndexOf('\\'));
// resp.setHeader("content-disposition", "attachment;filename="+filename);
resp.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(filename,"UTF-8"));
InputStream in= null;
OutputStream out =null;
in=new FileInputStream(path);
try {
int len=0;
byte buffer[] = new byte[1024];
out=resp.getOutputStream();
while ((len=in.read(buffer))>0) {
out.write(buffer, 0, len);
}
} finally {
if (in!=null) {
in.close();
}
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(req, resp);
}
}
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ResponseDemo2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
String path=this.getServletContext().getRealPath("/download/截图.png");
System.out.println(path);
String filename =path.substring(path.lastIndexOf('\\'));
// resp.setHeader("content-disposition", "attachment;filename="+filename);
resp.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(filename,"UTF-8"));
InputStream in= null;
OutputStream out =null;
in=new FileInputStream(path);
try {
int len=0;
byte buffer[] = new byte[1024];
out=resp.getOutputStream();
while ((len=in.read(buffer))>0) {
out.write(buffer, 0, len);
}
} finally {
if (in!=null) {
in.close();
}
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(req, resp);
}
}
相关文章推荐
- Mysql之各种各样的函数啦
- 如何连接开发环境和生产环境?
- java获取propertites文件
- ACM_程序设计竞赛:贪心算法:字典最小序
- Windows系统下使用Sublime搭建nodejs环境
- 模板中的标签、过滤器
- [改善Java代码]断言绝对不是鸡肋
- 解决方案的进步
- 多线程并发
- Android 抽象布局介绍和简单的使用
- 学习Java开源框架前你应该了解的
- fread和fwrite
- Java 泛型定义在接口上
- Hibernate一对多映射配置
- Notepad++连接QQ浏览器
- TomCat的工作原理和端口理解
- 06-图2 Saving James Bond - Easy Version (25分)
- 输出js对象的所有属性值
- Google code: Why 'Everything up-to-date' when pushing (git)
- 搭建一个免费的,无限流量的 Blog ---- github Pages 和 Jekyll 入门