KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > actions > message > attachment > DowloadAttachmentAction


1 /*
2  * Created on 06.07.2004
3  *
4  */

5 package org.jresearch.gossip.actions.message.attachment;
6
7 import javax.servlet.ServletOutputStream JavaDoc;
8 import javax.servlet.http.HttpServletRequest JavaDoc;
9 import javax.servlet.http.HttpServletResponse JavaDoc;
10 import javax.servlet.http.HttpSession JavaDoc;
11
12 import org.apache.struts.action.Action;
13 import org.apache.struts.action.ActionForm;
14 import org.apache.struts.action.ActionForward;
15 import org.apache.struts.action.ActionMapping;
16 import org.jresearch.gossip.IConst;
17 import org.jresearch.gossip.beans.forum.attachment.FileData;
18 import org.jresearch.gossip.beans.user.User;
19 import org.jresearch.gossip.configuration.Configurator;
20 import org.jresearch.gossip.dao.ForumDAO;
21 import org.jresearch.gossip.forms.ProcessAttachForm;
22
23 /**
24  * @author dbelov
25  *
26  */

27 public class DowloadAttachmentAction extends Action {
28
29     /*
30      * (non-Javadoc)
31      *
32      * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping,
33      * org.apache.struts.action.ActionForm,
34      * javax.servlet.http.HttpServletRequest,
35      * javax.servlet.http.HttpServletResponse)
36      */

37     public ActionForward execute(ActionMapping mapping, ActionForm form,
38             HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
39             throws Exception JavaDoc {
40         HttpSession JavaDoc session = request.getSession();
41         User user = (User) session.getAttribute(IConst.SESSION.USER_KEY);
42         ForumDAO dao = ForumDAO.getInstance();
43         ProcessAttachForm paForm = (ProcessAttachForm) form;
44         if (Configurator.getInstance().getBoolean(
45                 IConst.CONFIG.ENABLE_FILE_UPLOAD)) {
46             FileData fData = dao
47                     .getAttachment(Integer.parseInt(paForm.getId()));
48             String JavaDoc mime = fData.getInfo().getContentType();
49             response.setContentType(mime);
50             if (!(IConst.JSP.JPG_CONTENT_TYPE.equals(mime)
51                     || IConst.JSP.GIF_CONTENT_TYPE.equals(mime) || IConst.JSP.PNG_CONTENT_TYPE
52                     .equals(mime))) {
53                 response.setHeader("Content-disposition",
54                         "attachment;filename=\"" + fData.getInfo().getName()
55                                 + "\"");
56             }
57             response.addHeader("Content-description", fData.getInfo()
58                     .getDescription());
59             ServletOutputStream JavaDoc outStream = response.getOutputStream();
60             outStream.write(fData.getData());
61             outStream.flush();
62             outStream.close();
63         } else {
64             return (mapping.findForward(IConst.TOKEN.DENIED));
65         }
66
67         return null;
68     }
69 }
Popular Tags