jamesnetherton commented on issue #5306:
URL: https://github.com/apache/camel-quarkus/issues/5306#issuecomment-1721336117

   > Thank you for the really good framework, I really enjoy writing many 
integration flows using it
   
   Thanks! Great to hear such feedback :heart: 
   
   > How to map it to the correct form parameter
   
   Unfortunately, I do not think it is possible with `platform-http` at 
present. The name of the associated form field is logged and then effectively 
discarded:
   
   
https://github.com/apache/camel/blob/0f68caf93cd05b76abde3c8a58882c039bb7e824/components/camel-platform-http-vertx/src/main/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpConsumer.java#L292
 
   
   This hack could maybe work using a `RouteFilter` from 
`quarkus-reactive-routes`. 
   
   ```java
   @RouteFilter
   void multipartHeaderFilter(RoutingContext rc) {
       rc.request().body().onComplete(new Handler<AsyncResult<Buffer>>() {
           @Override
           public void handle(AsyncResult<Buffer> bufferAsyncResult) {
               rc.fileUploads().forEach(fileUpload -> {
                   rc.request().headers().add(fileUpload.fileName(), 
fileUpload.name());
               });
           }
       });
       rc.next();
   }
   ```
   
   Not sure if it is 100% reliable. But it will give you a Camel message 
exchange header, where the name is the uploaded file name and the value is the 
associated form field. So in your `msg.getAttachments` loop you could look it 
up like:
   
   ```
   var formFieldName = e.getMessage().getHeader(row);
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to