【JSP开发】关于下载文件response的设置
2015-01-30 11:33
495 查看
package cn.edu.Response; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.URLEncoder; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.omg.CORBA_2_3.portable.OutputStream; public class ResponseDemo3 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path=this.getServletContext().getRealPath("/download/阿木木.jpg"); String filename=path.substring(path.lastIndexOf("\\")+1); //如果下载名是中文,则文件名需要经过url编码URLEncoder.encode(filename,"UTF-8")(平常直接+文件名即可) response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(filename,"UTF-8")); InputStream in=null; ServletOutputStream out=null; try{ in=new FileInputStream(path); int len=0; byte buffer[] = new byte[1024]; out=response.getOutputStream(); while((len=in.read(buffer))>0) { out.write(buffer,0,len); } }finally{ if(in!=null){ try{ in.close(); }catch(Exception e){ e.printStackTrace(); } } if(in!=null){ try{ out.close(); }catch(Exception e){ e.printStackTrace(); } } } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }
相关文章推荐
- 项目开发技巧(四):使用JspSmartupload实现文件上传下载(二):jspSmartUpload上传下载全攻略(ZZ)
- 关于jsp的文件里的编码设置
- Web开发之JspSmartUpload实现文件上传下载
- 由response.setContentType()方法开始谈JSP/Servelt上传下载文件
- 关于jsp页面下载word文件
- JSP文件下载及出现getOutputStream() has already been called for this response的解决方法(转)
- 关于Eclipse中XML、JSP、JS等文件打开方式的设置
- 关于使用jspsmartupload.jar进行文件的上传与下载
- 关于updatepanel里面的下载文件 Response
- JSP隐含对象response实现文件下载的两种方法
- 移动项目开发笔记(asp.net中Response.WriteFile()实现文件下载)
- 由response.setContentType()方法开始谈JSP/Servelt上传下载文件
- 关于jspSmartUpload下载文件,出现getOutputStream() has already been..
- jsp页面 java 文件下载设置禁止IE直接打开配置问题
- 关于response中设置下载文件名中文乱码问题
- jspsmart下载文件出现getOutputStream() has already been called for this response的解决
- Jsp,(word或excel)的结合开发(word或excel)文件的下载
- JSP文件下载及出现getOutputStream() has already been called for this response的解决方法
- JSP隐含对象response实现文件下载的两种方法
- eclipse java ee开发jsp页面需要依赖java project文件时候的JEE Module Dependencies设置