在 Mule 中,我需要通过 java 操作通过 http post 发送的 xlsx 文件。如何获取通过 java 发布的文件?我认为可以通过 Mule 消息访问它,但是
eventContext.getMessage().getOutboundAttachmentNames()
也没有
eventContext.getMessage().getInboundAttachmentNames()
给出结果。
有任何想法吗?
为了进行http post test,我以这种方式使用curl:
curl --form upload=@filename --form press=OK http://localhost:8088/HttpController
流程是这样的:
<flow name="xlsx_to_xls_converterFlow1" doc:name="xlsx_to_xls_converterFlow1">
<http:inbound-endpoint exchange-pattern="request-response" doc:name="HTTP" address="http://localhost:8088/HttpController"/>
<logger level="INFO" doc:name="Logger"/>
<component class="Convert_XLSXtoXLS" doc:name="Java"/>
</flow>
谢谢
更新
为了让标记的解决方案工作发生覆盖 HttpMultipartMuleMessageFactory 的 extractPayloadFromHttpRequest 以选择正确的输入文件名。事实上,在当前的 HttpMultipartMuleMessageFactory 实现中,仅当输入文件名 =“payload”时才会上传文件