我想在jsf项目中下载一个文件。在bean方面,我正在获取DataHandler的对象。我试着搜索了很多次,但我没有找到任何相关的东西。如何通过数据处理程序对象下载文件?
DataHandler src = attachment.getAttachment();
ByteArrayOutputStream output = new ByteArrayOutputStream();
src.writeTo(output);
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
externalContext.setResponseHeader("Content-Type", src.getContentType());
externalContext.setResponseHeader("Content-Disposition", "attachment;filename=sachin.jpg");
externalContext.getResponseOutputStream().write(output.toByteArray());
facesContext.responseComplete();
如果有人知道一个关于文件下载和文件上传的好的教程,详细描述整个过程,那对我来说就太好了。
我的一个朋友帮我解决了这个问题。实际上,生活环境才是问题所在。前面我设置了一个portlet响应。所以他做了一个不同的servlet供下载。