java 如何实现文件下载时,弹出文件保存窗口
2013-07-09 07:04
615 查看
response.setContentType("application/octet-stream"); response.setContentType("application/OCTET-STREAM;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + fileName1); File file = new File(filePath + fileName); try { fis = new FileInputStream(file); out = new BufferedOutputStream(response.getOutputStream()); byte[] buffer = new byte[1024]; int len; while ((len = fis.read(buffer)) != -1) { out.write(buffer, 0, len); out.flush(); } }catch.......
一种在线打开或下载的方式
public String executeCommandUDownload(ActionContext context)throws Exception{ HttpServletResponse response = context.getResponse(); response.setCharacterEncoding("UTF-8"); boolean isOnLine = false; String fileName = context.getRequest().getParameter("fileName"); Connection con = null; HttpServletRequest request = context.getRequest(); String filePath = null; BufferedInputStream buffer=null; OutputStream out=null; try { con = this.getConnection(context); if("".equals(fileName) || fileName == null){ FileInfoBean bean = new FileInfoBean(); fileName = bean.findName(con, id); } File f = new File(filePath); //检查该文件是否存在 if(!f.exists()){ response.sendError(404,"File not found!"); return "File not found!"; } buffer = new BufferedInputStream(new FileInputStream(f)); byte[] buf = new byte[1024]; int len = 0; response.reset(); //非常重要 if(isOnLine){ //在线打开方式 URL u = new URL("file:///"+filePath); response.setContentType(u.openConnection().getContentType()); response.setHeader("Content-Disposition", "inline; filename="+(f.getName()).getBytes("gbk")); //文件名应该编码成UTF-8 } else{ //纯下载方式 response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(f.getName(),"UTF-8")); } out = response.getOutputStream(); while((len = buffer.read(buf)) >0) out.write(buf,0,len); }catch(Throwable e) { e.printStackTrace(); }finally { try { buffer.close(); out.close(); }catch(Throwable e) { e.printStackTrace(); } } return ""; }
相关文章推荐
- java实现文件下载功能,自动弹出保存窗口
- java 实现文件下载时,弹出文件保存窗口(IE9)
- java实现文件下载功能,自动弹出保存窗口
- 如何实现web应用下载文件时不弹出文件保存对话框,而是直接保存到指定的文件中
- Java如何实现点击按钮弹出保存文件的选项
- java中使用输出流下载文件弹出打开保存框
- js下如何弹出保存对话框进行文件下载
- showmodaldialog弹出的窗口里,不能实现文件的下载解决方案
- js下如何弹出保存对话框进行文件下载
- java使用poi或者jxl实现excel导出之后如何弹出保存提示框
- 任何类型的文件下载时都会弹出文件保存框的实现
- js下如何弹出保存对话框进行文件下载
- js下如何弹出保存对话框进行文件下载
- java如何实现文件下载
- aspx.cs 文件中,想实现弹出一个警告窗口后,点击“确定”后,重定向到一个 list.aspx 页,如何做啊?
- 【转载】Java如何实现文件打包下载功能
- js下如何弹出保存对话框进行文件下载
- js下如何弹出保存对话框进行文件下载
- Java中使用组件编写窗口实现网上文件的下载
- js下如何弹出保存对话框进行文件下载