我需要从黑莓应用程序中读取电子邮件正文和附件。我能够阅读纯文本消息,电子邮件但无法阅读附件。我试图读取附件流时得到空指针异常。我能够获取内容类型,大小和附件名称,但不能获取内容。下面是我一直在玩的示例代码。请帮助我,因为我无法继续进一步
public void uploadAttachment(SupportedAttachmentPart attachment)
{
String strMimeType = attachment.getContentType();
String strAttachmentFileName=attachment.getFilename();
String strAttachmentSize=attachment.getSize()
InputStream emailAttachmentStream = attachment.getInputStream();
int ch = emailAttachmentStream.read();
while(ch!=-1)
{
reqVector.addElement((byte) (ch));
ch = emailAttachmentStream.read();
}
}
答案 0 :(得分:1)
在BlackBerry中,为了提高性能,有关附件的文件大小限制,因此只下载了部分邮件。除非用户打开附件,否则附件实际上并未传送到设备。
现在,在JDE 5.0中,他们引入了一个新类AttachmentDownloadManager
,它允许程序员强制从代码中检索。
可能是这样的(未经测试):
Message m = ... //The mail message instance.
AttachmentDownloadManager atm = new AttachmentDownloadManager();
BodyPart[] bparr = atm.getAttachmentBodyParts(m);
atm.download(bparr, <some folder path>, null);