关于JAVAMAIL的附件下载
我的代码是这样的
@RequestMapping("four_download")
public void fourDownload(HttpSession session, HttpServletResponse response,HttpServletRequest request) throws Exception
{
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//获得当前邮件用户
JamesUser juser = JamesUserUtil.getJamesUser(session);
//获得邮件用户具体信息 获得密码
UserInfo userinfo = JamesUserUtil.getUserInfo(session);
//获得邮件ID
long uid = Long.parseLong(request.getParameter("uid"));
//获得邮箱类型
int folderType = Integer.parseInt(request.getParameter("folderType"));
//获得附件的编号
int bodyId = Integer.parseInt(request.getParameter("bodyId"));
//获得文件名
String fileName = request.getParameter("fileName");
fileName=java.net.URLDecoder.decode(fileName,"UTF-8");
ReceiveMail mail = new ReceiveMail(juser.getUserName(), userinfo.getUserPass());// 初始化接收邮件参数
IMAPFolder folder = mail.openFolder(userReceiveMailService.folderType(folderType), Folder.READ_WRITE);
Message message = folder.getMessageByUID(uid);
response.setHeader("Content-Disposition", "attachment;filename="+fileName);
Multipart multipart = (Multipart) message.getContent();
BodyPart bodyPart = multipart.getBodyPart(bodyId);
InputStream input = bodyPart.getInputStream();
int temp = 0;
while((temp = input.read()) != -1){
out.write(temp);
}
//mail.handleMultipart(message);
//userReceiveMailService.attachmentDownLoad(juser.getUserName(), userinfo.getUserPass(),1, uid, fileName);
}
为什么下载下来的文件的内容是空的?都是邮件PART的编码格式的
困扰我三天了 求解脱啊。。。。
JavaMail 邮件 Java 附件 --------------------编程问答-------------------- 建议debug跟下bodyPart是否有数据、out.write到底写了多少字节,这一堆对象套对象的,用眼看有点儿费劲。。
补充:Java , 非技术区