[JavaMail] Envoie compressé et encodé
Bonjour,
j'essaie depuis qq temps d'envoyer un message. ce message doit contenir un "fichier" compressé avec gzip, puis encodé en base64
, j'ai réussi sans problème (:lol: s'te blague) à envoyer le message non compressé, mais encodé
Code:
1 2 3 4 5 6 7 8 9
|
MimeMessage body = new MimeMessage(session);
...
body.setContent(MimeUtility.encodeText("montexte", null, "base64"), "text/plain");
...
Transport.send(body) |
bon la ou je n'y arrive plus, c'est la compression, j'ai essayé ca, mais je me retrouve bloquer avec des histoires de output, input etc...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
MimeMessage body = new MimeMessage(session);
...
ByteArrayOutputStream output = new ByteArrayOutputStream();
GZIPOutputStream gzipOutput = new GZIPOutputStream(output);
gzipOutput.write("montexte".getBytes());
//la ca commence a bloquer, output n'heritant pas directement de OutputStream,
//alors que la méthode encode attend un OutputStream
OutputStream result = MimeUtility.encode(output, "base64");
ensuite il faudrait convertir result en String
result -> string
body.setContent(result convertit en string, "text/plain");
...
Transport.send(body); |
quelqu'un a une idée simple,
j'ai essayé les piped stream, ca m'a plus embrouillé qu'autre chose :(
voila merci d'avance