2016-09-15 5 views
0

Apache CXF 구현을 사용하여 첨부 파일을 보냅니다. 비록 내가 dataHandler의 이름을 설정했다 할지라도 나는 왜 서버 측에서 밝혀지지 않았는지 모른다.DataHandler 이름이 서버 측에 보내지 않습니다.

Map<String, DataHandler> attachmentsMap = (Map<String, DataHandler>) context.get(MessageContext.OUTBOUND_MESSAGE_ATTACHMENTS); 
ByteArrayDataSource bads = new ByteArrayDataSource(file, PDF_MIME_TYPE); 
bads.setName(fileId); 

DataHandler dh = new DataHandler(bads); 

AttachmentPart attachmentPart = message.createAttachmentPart(); 

attachmentPart.setContent(new ByteArrayInputStream(file), PDF_MIME_TYPE); 
attachmentPart.setContentId(fileId); 
attachmentPart.setMimeHeader("fileName", "test"); 
message.addAttachmentPart(attachmentPart); 
message.saveChanges(); 

attachmentsMap.put(fileId, dh); 

"bads.setName (fileId); 또한 dataHandler의 이름이 설정됩니다. 로컬로 dh.getName을 수행하면 이름이 설정됩니다. 보낸 후이 존재하지 않는 이상

답변

0

슬픈하지만 불행히도 나는 대답한다 myself..again :

의 ContentDisposition 설정하고 다음과 같은 방법으로 같은 첨부 파일의 MimeHeader에 입고 될 수있다 :

String contentDisposition = "Content-Disposition: attachment; name=\"" + fileName + "\"";             
attachmentPart.addMimeHeader("Content-Disposition", contentDisposition); 

희망이 있으면 도움이 될 것입니다.