1 5 package org.jresearch.gossip.actions.message.attachment; 6 7 import java.awt.image.BufferedImage ; 8 import java.io.ByteArrayInputStream ; 9 10 import javax.imageio.ImageIO ; 11 import javax.servlet.ServletOutputStream ; 12 import javax.servlet.http.HttpServletRequest ; 13 import javax.servlet.http.HttpServletResponse ; 14 import javax.servlet.http.HttpSession ; 15 16 import org.apache.struts.action.Action; 17 import org.apache.struts.action.ActionForm; 18 import org.apache.struts.action.ActionForward; 19 import org.apache.struts.action.ActionMapping; 20 import org.jresearch.gossip.IConst; 21 import org.jresearch.gossip.beans.forum.attachment.FileData; 22 import org.jresearch.gossip.beans.user.User; 23 import org.jresearch.gossip.configuration.Configurator; 24 import org.jresearch.gossip.dao.ForumDAO; 25 import org.jresearch.gossip.exception.SystemException; 26 import org.jresearch.gossip.forms.ProcessAttachForm; 27 import org.jresearch.gossip.util.PictureGenerator; 28 29 33 public class GetAttachThumbnailAction extends Action { 34 35 43 public ActionForward execute(ActionMapping mapping, ActionForm form, 44 HttpServletRequest request, HttpServletResponse response) 45 throws Exception { 46 HttpSession session = request.getSession(); 47 User user = (User) session.getAttribute(IConst.SESSION.USER_KEY); 48 ForumDAO dao = ForumDAO.getInstance(); 49 ProcessAttachForm paForm = (ProcessAttachForm) form; 50 if (Configurator.getInstance().getBoolean( 51 IConst.CONFIG.ENABLE_FILE_UPLOAD)) { 52 FileData fData = dao 53 .getAttachment(Integer.parseInt(paForm.getId())); 54 response.setContentType(IConst.JSP.JPG_CONTENT_TYPE); 55 ServletOutputStream out = response.getOutputStream(); 56 ByteArrayInputStream b = new ByteArrayInputStream (fData.getData()); 57 BufferedImage img = ImageIO.read(b); 58 if (img == null) { 59 throw new SystemException("Unable to parse image"); 60 } 61 PictureGenerator.getInstance().prepareImageThumbnail(img, out); 62 } else { 63 return (mapping.findForward(IConst.TOKEN.DENIED)); 64 } 65 66 return null; 67 } 68 } | Popular Tags |