1 package org.campware.cream.modules.screens; 2 3 42 43 44 import java.io.*; 45 46 import javax.mail.internet.*; 47 import javax.mail.BodyPart ; 48 49 import javax.servlet.ServletOutputStream ; 50 import org.apache.torque.util.Criteria; 51 52 import org.campware.cream.modules.scheduledjobs.Pop3Job; 53 import org.campware.cream.modules.util.Base64; 54 import org.campware.cream.om.InboxAttachment; 55 import org.campware.cream.om.InboxAttachmentPeer; 56 57 import org.apache.turbine.modules.Screen; 59 import org.apache.turbine.util.RunData; 60 61 import org.apache.commons.logging.Log; 63 import org.apache.commons.logging.LogFactory; 64 import org.apache.ecs.ConcreteElement; 65 69 public class InboxAttachmentData extends Screen 70 { 71 72 73 private static Log log = LogFactory.getLog(InboxAttachmentData.class); 74 75 76 84 protected final ConcreteElement doBuild(RunData data) 85 throws Exception 86 { 87 88 int entry_id = data.getParameters().getInt("inboxattachmentid"); 89 90 if (entry_id>0) 91 { 92 Criteria criteria = new Criteria(); 93 criteria.add(InboxAttachmentPeer.INBOX_ATTACHMENT_ID, entry_id); 94 95 try{ 96 97 InboxAttachment entry = (InboxAttachment) InboxAttachmentPeer.doSelect(criteria).get(0); 98 99 String tempContType= entry.getContentType().trim(); 100 String fileName= entry.getFileName().trim(); 101 102 data.getResponse().setContentType(entry.getContentType()); 103 log.debug(fileName); 104 data.getResponse().setHeader("Content-disposition", "attachment; filename=\""+ fileName +"\""); 105 data.declareDirectResponse(); 106 107 data.getResponse().getOutputStream().write(Base64.decode(entry.getContent())); 108 109 } 110 catch (Exception e) 111 { 112 } 113 } 114 115 return null; 116 } 117 118 124 public final String getLayout(RunData data) 125 { 126 return null; 127 } 128 129 130 } 131 | Popular Tags |