我正在使用Multipart/Bodypart概念下载我的Gmail附件。下载是很好的和工作。但在实际下载文件之前无法获取附件大小。
以下是代码片段:
Store store = s.getStore("imaps");
store.connect("imap.gmail.com", "mygmailaddress@gmail.com", "password");
Folder inbox = store.getFolder("Misc");
inbox.open(Folder.READ_ONLY);
Message[] msgs = inbox.getMessages();
Multipart m=(Multipart)msgs[inbox.getMessageCount()-1].getContent(); //taking latest email
for(int i = 0;i < m.getCount(); i++){
BodyPart bp = m.getBodyPart(i);
String disposition = bp.getDisposition();
if(disposition!=null &&(disposition.equals("ATTACHMENT"))){
/*downloading code here */
}
}
如何在实际下载之前获得附件大小?
试试这个:
ByteArrayOutputStream os = new ByteArrayOutputStream();
m.writeTo(os);
int bytes = os.size();