我期待用camel 3.2.0版本和JDK11实现分段文件上传。
使用下面的代码,我能够成功地对旧版本的骆驼 2.x 做同样的事情,
.post("/importFile")
.id("importFile")
.bindingMode(RestBindingMode.off)
.consumes("multipart/form-data")
.produces(IConstants.APPLICATION_JSON)
.outType(String.class)
.to("direct:importFile")
from("direct:importFile")
.unmarshal()
.mimeMultipart()
.split().attachments()
// further processing...
将骆驼版本从 2.x 升级到 3.2.0 后,我们在上面的代码中遇到了“.attachments()”的编译时间问题。结果,我们将from路由替换为,
SplitAttachmentsExpression split = new SplitAttachmentsExpression();
from("direct:importFile")
.unmarshal()
.mimeMultipart()
.split(split)
// further processing...
但是,在此之后,当我调试代码时,我得到了空附件。
SplitAttachmentsExpression->evaluate()->exchange.getIn(AttachmentMessage.class).hasAttachments()
==> 评估为假。
作为升级的一部分,我在这里遗漏了什么吗?最新版本的 Camel 是否更改了导入文件功能? 非常感谢您的快速帮助,因为这在早期工作,现在我们完全被阻止了!