为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

通过流下载附件,使用struts2下载附件

2018-04-15 7页 doc 23KB 19阅读

用户头像

is_594905

暂无简介

举报
通过流下载附件,使用struts2下载附件通过流下载附件,使用struts2下载附件 文章分类:Java编程 1、通过流下载附件 Java代码 //文件下载 public String fileDown(){ HttpServletResponse response = ServletActionContext.getResponse(); try { String path=session.getServletContext().getRealPath("/"); filename = new String( filename.getBytes("...
通过流下载附件,使用struts2下载附件
通过流下载附件,使用struts2下载附件 文章分类:Java编程 1、通过流下载附件 Java代码 //文件下载 public String fileDown(){ HttpServletResponse response = ServletActionContext.getResponse(); try { String path=session.getServletContext().getRealPath("/"); filename = new String( filename.getBytes("ISO-8859-1") , "UTF-8"); String downname = filename.split("---")[2]; String url = path+"doc/affix/"+tba.getIassistnoticeid()+"/"+filename; OutputStream out = response.getOutputStream(); response.reset(); // 指定返回的是一个不能被客户端读取的流,必须被下载 response.setContentType("application/octet-stream;charset=UTF-8"); // 添加头信息,为"文件下载/另存为"对话框指定默认文件名 response.setHeader("Content-disposition", "attachment; filename="+URLEncoder.encode(downname,"UTF-8")); //URLEncoder.encode转换,解除文 件名乱码 // 添加头信息,指定文件大小,让浏览器能够显示下载进度 //response.addheader("content-length", url.length.tostring()); FileInputStream fis=new FileInputStream(url); int i=-1; while((i=fis.read())!=-1){//读文件 out.write(i); //写文件 } out.flush();out.close();fis.close(); } catch (IOException e) { e.printStackTrace(); }finally{ return null; } } //文件下载 public String fileDown(){ HttpServletResponse response = ServletActionContext.getResponse(); try { String path=session.getServletContext().getRealPath("/"); filename = new String( filename.getBytes("ISO-8859-1") , "UTF-8"); String downname = filename.split("---")[2]; String url = path+"doc/affix/"+tba.getIassistnoticeid()+"/"+filename; OutputStream out = response.getOutputStream(); response.reset(); // 指定返回的是一个不能被客户端读取的流,必须被下载 response.setContentType("application/octet-stream;charset=UTF-8"); // 添加头信息,为"文件下载/另存为"对话框指定默认文件名 response.setHeader("Content-disposition", "attachment; filename="+URLEncoder.encode(downname,"UTF-8")); //URLEncoder.encode转换,解除文 件名乱码 // 添加头信息,指定文件大小,让浏览器能够显示下载进度 //response.addheader("content-length", url.length.tostring()); FileInputStream fis=new FileInputStream(url); int i=-1; while((i=fis.read())!=-1){//读文件 out.write(i); //写文件 } out.flush();out.close();fis.close(); } catch (IOException e) { e.printStackTrace(); }finally{ return null; } } 2、使用struts2下载附件Java代码 //文件下载 public String fileDown(){ mimeType = session.getServletContext().getMimeType(filename); return "filedown"; } /** * 封装处理文件名 */ public void setFilename(String filename) { try { this.filename = new String(filename.getBytes("ISO8859-1"),"UTF-8"); downname = filename.split("---")[2]; } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } public String getFilename() { try { return new String(filename.getBytes(),"ISO8859-1"); } catch (UnsupportedEncodingException e) { return this.filename; } } public String getMimeType() { return mimeType; } public InputStream getInStream() { String path=session.getServletContext().getRealPath("/"); String url = path+"doc/affix/"+tba.getIassistnoticeid()+"/"+filename; try { inStream = new FileInputStream(url); } catch (FileNotFoundException e) { e.printStackTrace(); } if (inStream == null) { inStream = new ByteArrayInputStream("Sorry,File not found !".getBytes()); } return inStream; } public String getDownname() { return downname; } public void setDownname(String downname) { this.downname = downname; } //文件下载 public String fileDown(){ mimeType = session.getServletContext().getMimeType(filename); return "filedown"; } /** * 封装处理文件名 */ public void setFilename(String filename) { try { this.filename = new String(filename.getBytes("ISO8859-1"),"UTF-8"); downname = filename.split("---")[2]; } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } public String getFilename() { try { return new String(filename.getBytes(),"ISO8859-1"); } catch (UnsupportedEncodingException e) { return this.filename; } } public String getMimeType() { return mimeType; } public InputStream getInStream() { String path=session.getServletContext().getRealPath("/"); String url = path+"doc/affix/"+tba.getIassistnoticeid()+"/"+filename; try { inStream = new FileInputStream(url); } catch (FileNotFoundException e) { e.printStackTrace(); } if (inStream == null) { inStream = new ByteArrayInputStream("Sorry,File not found !".getBytes()); } return inStream; } public String getDownname() { return downname; } public void setDownname(String downname) { this.downname = downname; } struts2配置文件 Xml代码 attachment;filename="${downname}" ${mimeType} inStream
/
本文档为【通过流下载附件,使用struts2下载附件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索