Skip to content

Commit

Permalink
Add more headers in platform-http multipart uploads
Browse files Browse the repository at this point in the history
  • Loading branch information
Croway committed Feb 5, 2025
1 parent 3e16847 commit 559b7c4
Showing 1 changed file with 5 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ protected void populateAttachments(HttpServletRequest request, Message message)
File tmpFolder = (File) request.getServletContext().getAttribute(ServletContext.TEMPDIR);
boolean isSingleAttachment = multipartHttpServletRequest.getFileMap() != null &&
multipartHttpServletRequest.getFileMap().keySet().size() == 1;
message.setHeader(Exchange.ATTACHMENTS_SIZE, multipartHttpServletRequest.getFileMap().keySet().size());
multipartHttpServletRequest.getFileMap().forEach((name, multipartFile) -> {
try {
Path uploadedTmpFile = Paths.get(tmpFolder.getPath(), UUID.randomUUID().toString());
Expand All @@ -122,10 +123,13 @@ protected void populateAttachments(HttpServletRequest request, Message message)

if (accepted) {
AttachmentMessage am = message.getExchange().getMessage(AttachmentMessage.class);
am.addAttachment(name, new DataHandler(new CamelFileDataSource(uploadedTmpFile.toFile(), name)));
File uploadedFile = uploadedTmpFile.toFile();
am.addAttachment(name, new DataHandler(new CamelFileDataSource(uploadedFile, name)));

// populate body in case there is only one attachment
if (isSingleAttachment) {
message.setHeader(Exchange.FILE_PATH, uploadedFile.getAbsolutePath());
message.setHeader(Exchange.FILE_LENGTH, multipartFile.getSize());
message.setHeader(Exchange.FILE_NAME, multipartFile.getOriginalFilename());
if (multipartFile.getContentType() != null) {
message.setHeader(Exchange.CONTENT_TYPE, multipartFile.getContentType());
Expand Down

0 comments on commit 559b7c4

Please sign in to comment.