추출

2016-12-13 3 views
0

당신이 들어오는 메시지에서 첨부 파일을 추출하는 방법에 대한 어떤 생각을 가지고 있습니까 들어오는 메일 메시지에서 (업로드) 첨부? 메시지에 PDF가 첨부되어 있습니다.추출

['contentType':'application/pdf; name="TransakciaMK.pdf"', 'filename':'TransakciaMK.pdf', 'disposition':'attachment', 'contentBytes':'[[email protected]'] 

나는 서비스에 org.apache.commons.fileupload.FileItem

파일 업로드

에 사용되는 코드를 사용하고 싶었 : 이것은 내가 콘솔에서 볼 것입니다 , 파일을 저장합니다.

  1. 이 그 일을의 올바른 방법이 있나요?
  2. 예라면, 어떻게 내가 FileItem에 첨부 파일을 렌더링 할 수 있습니까?

추가 :

확인을 클릭합니다. 나는 틀린 일을해야만합니다. bodyPartList [2] .contentBytes.getBytes()를 사용하여 byte []를 추출합니다. 변수에 contentFileByte을했다. 파일이 생성

ByteArrayInputStream fileStream = new ByteArrayInputStream(contentFileByte) 
try { docRr.putStream(fileStream) } finally { fileStream.close() } 

하지만, 그것은 단지 포함 :

다음

[B의 @ d2d9e15

변환하는 방법에 어딘가에서 오류가 있어야합니다 바이트 배열을 파일 스트림에 기입합니다.

+0

나는이 그래서 공식적인 답변을 쓰지 않습니다에 대한 샘플 코드를 가지고 있지 않지만, 일반적으로 어떤이의 o.a.c.fileupload.FileItem를 사용하지 않을 것입니다. 이것은 byte []와 같이 직접 저장하거나 저장할 수 있습니다. –

+0

위의 세부 정보를 추가로 이동하려고 시도했습니다. – mrovnanik

답변

1

이것이 도움이 될지 모르겠다. 이미 본 적이 있지만 이미 EmailEcaRule.groovy에서 이메일에서 bodyPartList가 어떻게 작성되었는지 JavaMail API를 사용하여 확인할 수 있습니다. bodyPartList를 통해 반복하여 각 부분의 MIME 유형을 확인해야 텍스트 또는 첨부 파일로 처리해야하는지 알 수 있습니다. - 현재 emeca 규칙이 참조하는 기존 서비스는 bodyPartList [0] .contentText에서 본문 텍스트 만 가져 와서 매우 간단하게 처리합니다. 아직 첨부 파일을 추출하려고하지는 않았지만 이전에 수행 한 작업에서이 작업을 시도하고 시작합니다.

+0

고마워요, 로난. 나는 정확히 그렇게했다. Groovy 파일에서 코드를 확장했습니다. makeBodyPartList 프로 시저 내에서 iterator의 내용을 저장하는 서비스를 호출합니다. – mrovnanik