首页 > 解决方案 > Apache-camel 解压文件破坏图像

问题描述

尝试使用 Apache Camel 解压缩文件。Zip 文件可能包含多个 PNG 图像、多个 xml 文件。这是我使用的解压缩代码:

ZipFileDataFormat zf = new ZipFileDataFormat();
    zf.setUsingIterator("true");

        from(InstanceInputFolderURL)
            .unmarshal(zf)     
            .split(bodyAs(Iterator.class))
                .streaming()
                    .convertBodyTo(String.class)
                    .toD(InstanceOutputFolderURL+"/${file:onlyname.noext}")
                    .log("Unzipping file ${file:name} completed...")
                .end()
            .end()

结果,我在输出目录中拥有了 zip 文件的所有内容。XML文件没问题。但是所有PNG文件都损坏了,它们的大小不正确,无法显示。我还可以看到,原始 PNG 文件是 ANSI 格式的,但提取的文件是 UTF-8 格式的。我尝试使用 ZipSplitter,但结果是一样的。我该如何解决?

先感谢您!

标签: javaapache-camelpngzipfile

解决方案


推荐阅读