struts2下载文件
2015-11-12 14:41
375 查看
一、jsp页面
页面要有一个超链接,href里面是下载的方法。
二、struts配置文件
三、后台方法
页面要有一个超链接,href里面是下载的方法。
<a href="<%=toDownFile%>&patentId=${vo.id}">文件下载</a>
二、struts配置文件
<action name="toDownFile" class="com.sudytech.plugs.shfy.web.action.PatentInformationAction" method="toDownFile"> <result name="success" type="stream"> <!--设置为文件下载类型--> <param name="contentType">application/octet-stream;charset=ISO8859-1</param> <!--下载文件流 --> <param name="inputName">inputStream</param> <!--添加参数,即就是下载的名称 --> <param name="contentDisposition">attachment;fileName="${downloadFileName}"</param> <!--缓存 --> <param name="bufferSize">4096</param> </result> </action>
三、后台方法
/** * 下载文档 * @return */ public String toDownFile() { IFwManager manager=null; try{ manager=FwMgrFactory.getInstance().openFwManager(); PatentInformation2 p=manager.loadPatentInformation(patentId); if(p != null){ filePath=p.getFilePath(); } File file=new File(WebplusEnv.getRealPath(filePath)); if(file.exists()){ fileName=p.getFileName(); }else{ responseString("当前文件不存在"); } }catch(Exception e){ e.printStackTrace(); } return SUCCESS; } // 下载的流 public InputStream getInputStream() { try { InputStream in = ServletActionContext.getServletContext() .getResourceAsStream(filePath); return in; } catch (Exception e) { e.printStackTrace(); } return null; } /** 文件名 转换编码 防止中文乱码 */ public String getDownloadFileName() { String downloadFileName = fileName; try { downloadFileName = new String(downloadFileName.getBytes(), "ISO8859-1"); } catch (Exception e) { e.printStackTrace(); } return downloadFileName; }
相关文章推荐
- Spring注解详解
- spring mvc ehcache
- ArrayList中的陷阱
- Java读写XML文件
- Java中动态修改数组(Array)的大小
- java equals重写
- Java防止SQL注入的几个途径
- java中的匿名内部类总结
- Java异常处理之try...catch...语句的使用进阶
- 解决struts2在(IE,Firefox)下载文件名乱码问题
- Struts2中获取request、session等方法
- Java以struts2为例介绍如何实现图片上传
- ubuntu 下 eclipse 中文输入
- JAVA深度克隆
- springMVC controller注解整理
- MyEclipse下Maven的安装配置以及运行
- 用MyEclipse自动生成hibernate映射文件和实体类
- Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法
- java中字符串与16进制,byte之间的转换
- Java解世界最难九宫格问题