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 ( s'te blague) à envoyer le message non compressé, mais encodé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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