2014-09-10 70 views
0

我在做某種與騾子Gzip已壓縮機POC的及解壓縮。我的騾子流程如下如何騾子壓縮/解壓縮的有效載荷,回到原來的有效載荷

<flow name="GZipCompress" doc:name="GZipFlow1"> 
    <file:inbound-endpoint path="E:\backup\test" responseTimeout="10000" doc:name="File"> 
    <file:filename-regex-filter pattern="anirban.doc" caseSensitive="false"/> 
    </file:inbound-endpoint> 

<string-to-byte-array-transformer doc:name="String to Byte Array"/> 
<gzip-compress-transformer/> 
    <file:outbound-endpoint path="E:\backup\test\ss" responseTimeout="10000" doc:name="File"/> 
</flow> 



<flow name="GZipUnCompress" doc:name="GZipFlow2"> 
    <file:inbound-endpoint path="E:\backup\test\ss" responseTimeout="10000" doc:name="File"> 
     <file:filename-regex-filter pattern="anirban.doc" caseSensitive="false"/> 
    </file:inbound-endpoint> 
    <gzip-uncompress-transformer /> 
    <byte-array-to-string-transformer /> 
    <file:outbound-endpoint path="E:\backup\test\ss\New folder" responseTimeout="10000" doc:name="File"/> 
</flow> 
</mule> 

現在的問題是我有一個文件anirban.doc這是約80.0 KB之前壓縮..當我把文件放入壓縮文件夾中,GZipCompress流的文件入站選取它並壓縮它。壓縮後文件大小得到20 KB這是好..現在,當我嘗試unCompress文件使用GZipU nCompress流,我得到的文件輸出文件夾的文件出站端點GZipUnCompress流..而這次所謂的解壓縮文件的大小爲96.0 KB ..當我試圖打開文件時,我得到二進制文件格式..所以我的問題是我怎樣才能得到未壓縮的文件回原來的文件大小相同,我可以打開它,並閱讀它,而不是以二進制形式,但作爲相同的原始內容..這是正確的方式,我壓縮和解壓縮文件/有效負載。

回答

0

如果我刪除string-to-byte-array-transformer(這是無用的,甚至反作用:保留字節儘可能),然後GZipCompress工作得很好:它會在輸出目錄中創建一個有效的gzip文件。