2

我期待用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 是否更改了导入文件功能? 非常感谢您的快速帮助,因为这在早期工作,现在我们完全被阻止了!

4

0 回答 0