PDF를 생성 중입니다. 메일을 첨부하고 Java를 사용하여 브라우저에서 다운로드하려고합니다. 브라우저에서 다운로드하면 문제가 없지만 메일에 첨부하면 문제가 발생합니다. 파일이 첨부됩니다. 첨부 파일 이름과 파일 크기는 그대로 유지됩니다. 문제는 메일 첨부 파일에서 PDF를 열 때 아무 것도 표시하지 않는 경우입니다. 내용이없는 정확한 페이지 수. 하드 코딩하여 브라우저에서 다운로드 한 파일을 첨부하면 정상적으로 작동합니다. 그래서 문제는 PDF 생성과 관련이 없다고 생각합니다. 나는 둘 다 (브라우저에서 다운로드 한 하나와 다른 메일에서 다운로드 한) 파일 비교 도구를 비교를 사용하여 열어 보았습니다. 메일에서 다운로드 한 것은 변환 오류를 보여줍니다. 메모장 ++로 열면 둘 다 다른 인코딩이 표시됩니다. 나는이 인코딩 작업에 익숙하지 않습니다. 인코딩과 관련이 있다고 생각합니다.자바 메일 PDF 첨부 파일이 작동하지 않습니다.
메일 다운로드의 콘텐츠가 PDF 생성시의 콘텐츠와 동일하다는 사실을 확인했습니다. 그러나 브라우저 다운로드에서 하나 다릅니다.
내가 브라우저 다운로드에 무엇을 얻을의 발췌 내가 메일 다운로드에 무엇을 얻을의 발췌는 다음과 같이
%PDF-1.4
%âãÏÓ
4 0 obj <</Type/XObject/ColorSpace/DeviceRGB/Subtype/Image/BitsPerComponent 8/Width 193/Length 11222/Height 58/Filter/DCTDecode>>stream
ÿØÿà
입니다 (내용 붙여 너무 큰) 다음과 같습니다
%PDF-1.4
%????
4 0 obj <</Type/XObject/ColorSpace/DeviceRGB/Subtype/Image/BitsPerComponent 8/Width 193/Length 11222/Height 58/Filter/DCTDecode>>stream
????
저는 Spring MimeMessageHelper를 사용하여 메시지를 보냅니다. 나는 또한 연결의 또 다른 방법을 시도했지만 허사
DataSource dataSource = new ByteArrayDataSource(bytes, "application/pdf");
MimeBodyPart pdfBodyPart = new MimeBodyPart();
pdfBodyPart.addHeader("Content-Type", "application/pdf;charset=UTF-8");
pdfBodyPart.addHeader("Content-disposition", "attachment; filename="+fileName);
pdfBodyPart.setDataHandler(new DataHandler(dataSource));
pdfBodyPart.setFileName(fileName);
mimeMessageHelper.getMimeMultipart().addBodyPart(pdfBodyPart);
에 어떤 도움을 크게 감상 할 수 첨부 파일을
MimeMessageHelper.addAttachment(fileName, new ByteArrayResource(attachmentContent.getBytes()), "application/pdf");
을 추가 아래의 방법을 사용하고 있습니다. 미리 감사드립니다.
죄송합니다. 그것을 정정했다. –
아직 인코딩으로 콘텐츠 바이트를 가져 오지 못했습니다. –
미안하지만 못 들었어. 메일 첨부 파일이 UTF-8과 다른 인코딩을 가지고 있다는 뜻입니까? –