<h:commandLink actionListener="#{referenceGuideCtrller.download}" value="Download" > <f:param name="fileLink" value="#{refFile.filePath}"></f:param> </h:commandLink>
public void download() { try { FacesContext fc = FacesContext.getCurrentInstance(); String fileName = FacesContextUtil.getRequest().getParameter("fileLink"); String filePath = FacesContextUtil.getFileUploadPath() + fileName; logger.debug("file path:" + filePath); //filePath:/mnt/vishuo-data/reference/test.txt ByteArrayOutputStream baos= downloadFile(filePath); HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse(); response.reset(); response.setHeader("Content-disposition", "attachment; filename=" + fileName.substring(fileName.lastIndexOf("/")+1)); //不是内嵌显示(attachment),而是作为附件下载 // response.setHeader("Content-disposition", "inline; filename=" + fileName.substring(fileName.lastIndexOf("/")+1)); //内嵌显示(inline) response.setContentType("application/x-download"); response.setContentLength(baos.size()); ServletOutputStream sos = response.getOutputStream(); baos.writeTo(sos); baos.close(); sos.flush(); sos.close(); FacesContext.getCurrentInstance().responseComplete(); } catch (IOException ex) { logger.debug(ex); } } public ByteArrayOutputStream downloadFile(String fileName) throws IOException { FileInputStream fis=new FileInputStream(fileName); BufferedInputStream bis=new BufferedInputStream(fis); ByteArrayOutputStream baos=new ByteArrayOutputStream(); BufferedOutputStream bos=new BufferedOutputStream(baos); int i; while((i=bis.read())!=-1) { bos.write(i); } bos.flush(); bis.close(); return baos; }
相关推荐
JSF实现文件的下载功能 public static void downloadFile(String path,String fileName) { try { // 获得JSF上下文环境 FacesContext context = FacesContext.getCurrentInstance(); // 获得ServletContext...
JSF文件上传下载完整代码....
jsf jar文件 下载 jsf开发 jsf(jar文件下载) jsf-api.jar
jsf 文档 jsf 文档 jsf 文档 jsf 文档
jsf 中文文档jsf 中文文档jsf 中文文档jsf 中文文档
jsf文件上传和下载例子,可以直接在eclipse下用tomcat直接运行
自己写的JSF文件上传项目,可以最大支持最大1.99G文件 需要的jar包需奥自己加 附:jar目录截图
JSF API帮助文档,谢谢 JSF API帮助文档,谢谢
XXX-java开发工程师.doc
(难道是我下载的JSF reference implementation 版本的原因?) <br>无论如何,最后我还是找到了列表中的所有jar。 <br> * jsf-impl.jar * jsf-api.jar * commons-digester.jar * ...
JSF 很全面的帮助文档,学习JSf必备文档!
JSF技术总结文档.doc
JSF概述 文档
JSF 上传文件例子 英文 经测试,能行
这是一本既有权威的JSF的帮助文档,是学习JSF的开发人员必备的知识
jsf英文版帮助文档,chm格式,API完整,不错的帮助文档
中文版jsf 帮助文档,包含pdf 和 chm , 开放和学习的好帮手。
很不错哦,下来你就知道,ejb jsf 应用文档
lib文件,jar包,jsf+spring,上个例子lib文件(分两个包,请下载全)