Tôi muốn tạo đối tượng Java File
trong bộ nhớ (không tạo tệp vật lý) và điền nội dung của nó bằng mảng byte.Tạo đối tượng Tệp Java (hoặc tương đương) sử dụng mảng byte trong bộ nhớ (không có tệp vật lý)
Việc này có thể thực hiện được không?
Ý tưởng là chuyển nó tới Spring InputStreamSource
. Tôi đang thử phương pháp dưới đây, nhưng nó trả về nói rằng "mảng byte không chứa một tên tập tin.".
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: tài nguyên được nạp từ mảng byte không mang tên tệp tại org.springframework.core.io.AbstractResource.getFilename (AbstractResource.java:148) tại org.springframework .mail.javamail.MimeMessageHelper.addInline (MimeMessageHelper.java:922) –
Cảm ơn Kevin, nó đã hoạt động !! Giải pháp tuyệt vời. –
Bạn hy vọng có thể thấy nó hoạt động sớm tại www.creately.com :) (Chúng tôi đang ở phiên bản beta riêng). –