Je veux créer un objet Java File
en mémoire (sans créer un fichier physique) et remplir son contenu avec un tableau d'octets.Créer un objet Java de fichier (ou équivalent) à l'aide d'un tableau d'octets dans la mémoire (sans un fichier physique)
Est-ce que cela peut être fait?
L'idée est de passer à un ressort InputStreamSource
. J'essaye la méthode ci-dessous, mais il revient en disant "le tableau d'octets ne contient pas un nom de fichier.".
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setFrom("[email protected]", "xyz");
helper.setTo(email);
helper.setText(body,true);
helper.setSubject(subject);
helper.addInline("cImage",
new InputStreamResource(new ByteArrayInputStream(imageByteArr)));
mailSender.send(message);
java.lang.IllegalStateException: ressource chargée à partir du tableau d'octets ne porte pas de nom de fichier à org.springframework.core.io.AbstractResource.getFilename (AbstractResource.java:148) à org.springframework .mail.javamail.MimeMessageHelper.addInline (MimeMessageHelper.java:922) –
Merci Kevin, il a travaillé !! Solution fantastique. –
Vous pouvez le voir bientôt en action à www.creately.com :) (Nous sommes en beta privé atm.) –