我的应用程序的客户端将文件发送到servlet,我想得到 此文件并将其作为电子邮件附件发送而不保存。
请帮助我如何在Java中这样做。
答案 0 :(得分:1)
请考虑以下方法:使用较短的生命周期将文件写入GCS(Google云端存储),以便在短时间内将其删除:GCS Lifecycle
<?xml version="1.0" ?>
<LifecycleConfiguration>
<Rule>
<Action>
<Delete/>
</Action>
<Condition>
<Age>1</Age>
</Condition>
</Rule>
</LifecycleConfiguration>
答案 1 :(得分:1)
获取您的文件,并执行:
String fileName;
byte[] fileContent;
MailService service = MailServiceFactory.getMailService();
MailService.Message msg = new MailService.Message();
// msg.setSender(sender);
// msg.setReplyTo(replyTo);
// msg.setTo(recepients);
// msg.setSubject(subject);
// msg.setHtmlBody(message);
ArrayList<Attachment> attachments = new ArrayList<Attachment>();
Attachment attachment = new Attachment(fileName, fileContent);
attachments.add(attachment);
msg.setAttachments(attachments);
service.send(msg);
答案 2 :(得分:0)
使用Apache Commons FileUpload,您可以从Web客户端上传中获取文件而不保存。将文件作为附件Multi-Part Messages从byte []数组发送。