[jboss-user] [JBoss Seam] - Re: Downloading Files
goku2
do-not-reply at jboss.com
Sun Sep 16 23:40:05 EDT 2007
Put this action in some Seam component.
<s:link action="{someSeamComponent.download}" value="Download"/>
And the action in SomeSeamComponent
| public void download() {
| //Here you get the entity that has a byte array with the data
| SomeEntity entity = getEntityFromEntityManager();
|
|
| FacesContext facesContext = FacesContext.getCurrentInstance();
| HttpServletResponse response = (HttpServletResponse) facesContext
| .getExternalContext().getResponse();
| response.setContentType(entity.getContentType());
| //Asume a data property inside entity
| byte[] data = entity.getData();
| response.setContentLength(data.length);
| response.setHeader("Content-disposition", "inline; filename=\""
| + entity.getFileName() + "\"");
|
| try {
|
| OutputStream out = response.getOutputStream();
|
| out.write(data);
|
| out.flush();
| out.close();
|
| facesContext.responseComplete();
| } catch (IOException ex) {
| FacesMessages.instance().add(
| "Error while downloading the file: " + entity.getFileName());
| }
|
| }
|
|
Cheers
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4084868#4084868
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4084868
More information about the jboss-user
mailing list