クライアントにzipアーカイブ内の複数のファイルを提供する非常に優れた簡単な方法。 すでにロードされているサーバーをロードしません。
var zip = new JSZip(); zip.add("Hello.txt", "Hello World\n"); img = zip.folder("images"); img.add("smile.gif", imgData, {base64: true}); content = zip.generate(); location.href="data:application/zip;base64,"+content;
それでは、ここで何が起こっているのか見てみましょう。
zipアーカイブのインスタンス、クラスJSZipが作成されます。
次に、Hello.txtなどの任意のデータを追加できます。画像フォルダーも追加できます。
次に、smile.gifをその中に入れ、すべてをまとめて、zipファイルとして提供します。
サポートされているブラウザ
オペラ | Firefox | サファリ | クロム |
---|
7.5+ファイル名「default.zip」 | 3.0+ファイル名に拡張子「.part」が付いたアルファベットのセット | ファイル名は拡張子なしの「不明」(ダウンロード済み)です | ファイルの名前は「download.zip」です |
私はIEについて私は何も言わないだろうと思う:)
ドキュメント
新しいJSZip([compressionMethod])
コンストラクター。
compressionMethod、文字列。 .zipファイルで使用される圧縮方法。
利用可能な方法。
デフォルトでは、圧縮なしの「STORE」。
「DEFLATE」標準zip圧縮、jszip-deflate.jsファイルが必要
var zip = new JSZip();
追加(名前、データ[、オプション])
zipアーカイブにファイルを追加します。 連鎖をサポート
オプション
base64 、ブール値。
データが base64
でエンコードされている場合、
trueに設定します。 たとえば、キャンバスからの写真。
binary 、boolean。 デフォルトで
は 、
データが base64にある場合
は true 、そうでない場合は
false日付 、日付。 ファイルが最後に変更された日付を設定するために使用します。 それ以外の場合、現在の時間が使用されます。
zip.add("Hello.txt", "Hello World\n"); zip.add("smile.gif", "R0lGODdhBQAFAIACAAAAAP/eACwAAAAABQAFAAACCIwPkWerClIBADs=", {base64: true}); zip.add("magic.txt", "U2VjcmV0IGNvZGU=", {base64: true, binary: false}); zip.add("Xmas.txt", "Ho ho ho !", {date : new Date("December 25, 2007 00:00:01")}); zip.add("animals.txt", "dog,platypus\n").add("people.txt", "james,sebastian\n");
結果:
Hello.txt、smile.gif、magic.txt、Xmas.txt、animals.txt、people.txtフォルダー(名前)
zipアーカイブにディレクトリを追加します。 連鎖をサポート
zip.folder("images"); zip.folder("css").add("style.css", "body {background: #FF0000}");
結果:
images /、css /、css / style.css、css / font.css見つける(針)
文字列または正規表現をすべてのファイル名と比較し、各一致の情報を含むオブジェクトを返します。
zip.add("Readme", "Hello World!\n"); zip.add("Readme.French", "Bonjour tout le monde!\n"); zip.add("Readme.Pirate", "Ahoy m'hearty!\n"); zip.find("Readme");
結果:
{name:“ Readme”、data:“ Hello World!”、Dir:false}という形式のすべての一致を持つ配列
削除(名前)
ファイルまたはフォルダーを削除する
<source lang = "javascript>
zip.add( "Hello.txt"、 "Hello World \ n");
zip.add( "temp.txt"、 "nothing")。remove( "temp.txt");
結果:
Hello.txt zip.add("Hello.txt", "Hello World\n"); zip.folder("css").add("style.css", "body {background: #FF0000}"); zip.remove("Hello.txt").remove("css");
結果:
Empty.zip生成(asBytes = false)
zipアーカイブを生成します。 デフォルトでは、base64でエンコードされ、ベアバイト文字列を取得するには
trueを渡します。
content = zip.generate(); location.href="data:application/zip;base64,"+content; content = zip.generate(true); for (var c = 0; c < content.length; c++) { console.log(content.charCodeAt(c));
ウェブサイト:
jszip.stuartk.co.ukGithub:
github.com/Stuk/jszip
エディター「Hands&Keyboard」で準備された資料