Je suis actuellement en train de développer une application qui télécharge des pièces jointes à partir du compte Gmail. À l'heure actuelle, j'ai eu une erreur lors du téléchargement de la pièce jointe compressée. Mais, pas tous, certains je peux le récupérer sans erreur. Voici le message d'exception:JavaMail BaseEncode64 Erreur
Exception in thread "main" com.sun.mail.util.DecodingException: BASE64Decoder: Error in encoded stream: needed 4 valid base64 characters but only got 1 before EOF, the 10 most recent characters were: "Q3w5ilxj2P"
FYI: J'ai pu télécharger la pièce jointe via l'interface web de gmail.
Voici l'extrait:
Multipart multipart = (Multipart) message.getContent();
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
if (bodyPart.getFileName().toLowerCase().endsWith("zip") ||
bodyPart.getFileName().toLowerCase().endsWith("rar")) {
InputStream is = bodyPart.getInputStream();
File f = new File("/tmp/" + bodyPart.getFileName());
FileOutputStream fos = new FileOutputStream(f);
byte[] buf = new byte[bodyPart.getSize()];
int bytesRead;
while ((bytesRead = is.read(buf)) != -1) {
fos.write(buf, 0, bytesRead);
}
fos.close();
}
}
}
Quelqu'un a idée, comment contourner ce problème?
Encore une chance avec ça? – William
Non, pas encore. Semble être. personne ne s'intéresse au courrier java :( – ariefbayu