2013-04-29 213 views
2

我正在尋找一個字符串壓縮/解壓縮算法的JavaScript實現,其中數據在客戶端創建並存儲在HTML表單中的隱藏字段中。客戶端數據壓縮/解壓縮?

我讀了約gzip,但它壓縮數據服務器端,而在我的情況下,我想壓縮它的客戶端,將其發送到服務器,或從服務器接收它在客戶端再次解壓縮。

我發現這LZF Compression示例基於LZFjs,但它會生成二進制數據,需要處理和存儲在一個隱藏的表單字段,它工作在文件而不是純數據。

有關純數據客戶端數據壓縮/解壓縮的建議也有效嗎?

+0

可能重複(http://stackoverflow.com/questions/2252465/javascript-client-data-壓縮) – 2013-04-29 09:44:35

+0

http://danml.com/js/compression.js你';;想要使用atob/btoa進入客戶端和服務器之間。 – dandavis 2014-08-25 00:59:49

回答

4

有了這個開源的JavaScript壓縮庫,由Pierre curto: https://github.com/pierrec/node-lz4

谷歌搜索的時候,我也發現了這個zlib的實現(我沒測試過): http://nodejs.org/api/zlib.html

+2

謝謝,但我沒有在一個節點應用程序工作,我只需要壓縮代碼沒有相關的節點集成..可能是兩個功能的壓縮和解壓縮 – simo 2013-04-30 06:23:58

+0

它不再需要'節點',並可以直接集成在瀏覽器內。 – Cyan 2014-08-29 17:09:12

2

你也可以嘗試JSZip。要在瀏覽器中運行它,您只需要download幷包含dist/jszip.js或dist/jszip.min.js。

這是積極支持和支持各種各樣的瀏覽器,包括每個人最喜歡的IE6/7/8!

用法(從他們的文檔):[JavaScript客戶數據壓縮]的

var zip = new JSZip(); 

zip.file("Hello.txt", "Hello World\n"); 

var img = zip.folder("images"); 
img.file("smile.gif", imgData, {base64: true}); 

var content = zip.generate({type:"blob"});