Chcę utworzyć obiekt Java File
w pamięci (bez tworzenia pliku fizycznego) i zapełnić jego zawartość tablicą bajtów.Utwórz obiekt Java (lub jego odpowiednik), używając tablicy bajtów w pamięci (bez fizycznego pliku).
Czy to można zrobić?
Ideą jest przekazanie go na wiosnę InputStreamSource
. Próbuję tej metody poniżej, ale zwraca komunikat "tablica bajtów nie zawiera nazwy pliku.".
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: zasoby załadowane z tablicy bajtów nie mają nazwy pliku at org.springframework.core.io.AbstractResource.getFilename (AbstractResource.java:148) at org.springframework .mail.javamail.MimeMessageHelper.addInline (MimeMessageHelper.java:922) –
Dzięki Kevin, zadziałało !! Fantastyczne rozwiązanie. –
Możesz mieć nadzieję, że wkrótce pojawi się na stronie www.creately.com :) (Jesteśmy w prywatnej wersji beta atm.) –