1

我想在我的 jsf 项目中下载一个文件。在 bean 方面,我得到了 DataHandler 的对象。我试图搜索很多次,但我没有找到任何与之相关的东西。如何通过 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();        

如果有人知道一个关于文件下载和文件上传的好教程,它详细描述了整个过程,对我来说会很棒。

4

1 回答 1

0

我的一位朋友为我解决了这个问题。实际上liferay环境是问题所在。早些时候,我正在设置一个 portlet 响应。因此,他制作了一个不同的 servlet 供下载。

于 2013-01-22T06:15:20.363 回答