Search code examples
mulemulesoftmule4

Unzip files in Mule 4


I have a requirement to unzip file. Currently this is done in Java code in Mule 3.x, but need to unzip file in Mule 4, how we can achieve this in Mule 4?

Tried to use same Mule 3 Java code in Mule 4 but some of the methods/functions are not supported in Mule 4. Any code snippet/suggestion?


Solution

  • You don't need to use Java code to decompress zip files with Mule 4. You can use the Mule Compression Module to compress/decompress zip or gzip files. The documentation has examples.

    Extracted from documentation:

    <compression:extract doc:name="Extract"  >
        <compression:extractor >
            <compression:zip-extractor />
        </compression:extractor>
    </compression:extract>
    
    <foreach doc:name="For Each"  collection="payload">
        <file:write doc:name="Write"  config-ref="File_Config" path='#[output application/json
    ---
    "output/" ++ (payload pluck $$)[0]]' >
           <file:content ><![CDATA[#[output application/java --- ( payload pluck $ )[0]]]]></file:content>
        </file:write>
    </foreach>