파일 첨부 할때 사용 되는 MimeMessageHelper.addAttachment(String attachmentFilename, InputStreamSource inputStreamSource) 메소드에 MultipartHttpRequest 에서 직접 InputStream 객체를 연결 하면 문제가 발생 한다.


Buffer 에 파일을 임시로 담아 놓고, InputStream 으로 변환하면 해결 된다.


for (MultipartFile uploadFile : uploadFiles) {
    String originalFilename = uploadFile.getOriginalFilename();

    logger.debug("addAttachment: {}", originalFilename);
    logger.debug("addAttachment size: {}", uploadFile.getSize());

    mimeMessageHelper.addAttachment(MimeUtility.encodeText(originalFilename), new ByteArrayResource(IOUtils.toByteArray(uploadFile.getInputStream())));
}


IOUtils 이 없다면, pom.xml 에 추가 하자.


<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.4</version>
</dependency>

참고 사이트


+ Recent posts