2008-11-30
JavaScript 内で無圧縮 ZIP を作って Data URI を生成するライブラリを作りました
ちょっと思うところあって
JavaScript 内で、複数のファイル情報を作って Zip で固めて、 Data URI を生成するライブラリを作ってみました。
share - Revision 35107: /lang/javascript/Zip
使うには
share - Revision 35107: /lang/javascript/Base64/trunk
今回 Zip で使うように、ちょっとチューニングさせていただきました。
こんなことができます
// zip オブジェクトを作る var zip = new Zip; // 文字列をファイルとして追加する zip.addString('Hello, world!!', 'message.txt'); // Ajax を使ってファイルを取得してきて zip 内に追加する zip.addFile('index.html'); zip.addFile('index.html', 'fuga/fuga.html'); // 名前を付ける // Ajax を使ってファイルを取得してきて zip 内に追加する(非同期) zip.addFileAsync('index.html', null, function(file, xhr) { /* callback */}); // 空のディレクトリを追加 zip.addDirectory('hoge/'); // A 要素を作る var a = document.createElement('a'); // Zip を Data URI に変換する a.href = zip.getDataURI() // リンクテキスト a.textContent = 'hoge.zip'; // DOM に挿入する docment.body.appendChild(a);
実際の例は以下
たぶん動くブラウザ
トラックバック - http://d.hatena.ne.jp/amachang/20081130/1228029751
リンク元
- 328 http://b.hatena.ne.jp/hotentry
- 279 http://reader.livedoor.com/reader/
- 143 http://www.moongift.jp/2008/11/cocproxy/
- 97 http://d.hatena.ne.jp/
- 71 http://d.hatena.ne.jp/wa-ren/20081130/p2
- 67 http://www.google.co.jp/reader/view/
- 63 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GFRC,GFRC:2007-02,GFRC:ja&q=Ie6
- 57 http://www.google.com/reader/view/
- 48 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=javascript+xpath&btnG=検索&lr=lang_ja
- 46 http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/amachang/20081126/1227700830