2014-10-03 2 views
4

Я новичок в java-опросе почты, и я создал один тип приложения для разговора в этом случае, если пользователь отправляет почту друг другу, тогда я читаю, что из них почта и сообщение как новое сообщение в разговоре.java mail polling читать встроенные или встроенные изображения (смайлики) из письма

сейчас выпуск - это, что делать, если есть смайлики, встроенные или встроенные изображения. например, в почте gmail мы также можем отправлять смайлики, как читать эту улыбку и публиковать на странице. пожалуйста, дайте мне правильное решение для этого.

This type of the smileys.

ответ

2

Я нашел решение, чтобы загрузить встроенные изображения + иконки из почты.

private String getAttachments(Message message, HttpServletRequest request) throws MessagingException, IOException { 
    String contentType = message.getContentType(); 
    String attachFiles=""; 
    if (contentType.contains("multipart")) { 
     // content may contain attachments 
     Multipart multiPart = (Multipart) message.getContent(); 
     int numberOfParts = multiPart.getCount(); 
     for (int partCount = 0; partCount < numberOfParts; partCount++) { 
      MimeBodyPart part = (MimeBodyPart) multiPart.getBodyPart(partCount); 
      String disposition =part.getDisposition(); 
      String file=part.getFileName(); 
      //External attachments 
      if (disposition != null && Part.ATTACHMENT.equalsIgnoreCase(disposition)) { 
       // this part is attachment 
       String fileName = new Date().getTime()+ "_"+ part.getFileName().replaceAll("[^a-zA-Z0-9\\._]+", "_"); //To make attachment name uniq we are adding current datatime before name. 
       attachFiles += fileName + ","; //concrete all attachment's name with comma separated.     
       part.saveFile(new File(request 
         .getSession() 
         .getServletContext() 
         .getRealPath(
           "/WEB-INF/attechments/" 
             + fileName))); //To save the attachment file at specific location. 
     //     LOG.info("\n\t Path :- " +request.getSession().getServletContext().getRealPath("/WEB-INF/attechments/" + fileName)); 
      } 
      //Inline Attachments 
      else if (disposition != null && Part.INLINE.equalsIgnoreCase(disposition)) { 
       // this part is attachment 
       String fileName = new Date().getTime()+ "_"+ part.getFileName().replaceAll("[^a-zA-Z0-9\\._]+", "_"); //To make attachment name uniq we are adding current datatime before name. 
       // attachFiles += fileName + ","; //concrete all attachment's name with comma separated.     
       part.saveFile(new File(request 
         .getSession() 
         .getServletContext() 
         .getRealPath(
           "/WEB-INF/attechments/" 
             + fileName))); //To save the attachment file at specific location. 
//     LOG.info("\n\t Path :- " +request.getSession().getServletContext().getRealPath("/WEB-INF/attechments/" + fileName)); 
      } 
      //Inline icons and smileys 
      else if(file != null && disposition==null) 
      { 
       String fileName = new Date().getTime()+ "_"+ part.getFileName().replaceAll("[^a-zA-Z0-9\\._]+", "_"); 
      // attachFiles += fileName + ","; //concrete all attachment's name with comma separated. 
       part.saveFile(new File(request 
         .getSession() 
         .getServletContext() 
         .getRealPath(
           "/WEB-INF/attechments/" 
             + fileName))); 

      } 
     } 
    } 
    if (attachFiles.length() > 1) { 
     attachFiles = attachFiles.substring(0, attachFiles.length() - 1); 
    } 
    return attachFiles; 
} 
+1

У меня теперь только один вопрос, как изменить с моим оригинальным пути –

+0

Удай А. Navapara Thanx, был вопрос и предложения этого типа нашли свои собственные спасибо ошибки в коде. Однако вам удалось подумать о каком-то методе, как заменить img на cid вашим изображением? – thorinkor

Смежные вопросы