亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript 實現的 zip 壓縮和解壓縮工具包Zip.js使用詳解

2024-05-06 16:26:20
字體:
來源:轉載
供稿:網友
今天給大家介紹的文章是js實現的解壓縮插件zip.js,非常的簡單實用,有需要的小伙伴可以參考下。
 

zip.js是什么

  zip.js的github項目地址:http://gildas-lormeau.github.io/zip.js/

  通過zip.js封裝一個能在網頁端生成zip文件的插件, 直接在網頁中創建包含文件夾和文件的壓縮包,也可以自定義名字并下載;

  如何使用:

  1:引用zip.js

  2:引用jQuery;

  3:并引用封裝的ZipArchive.js ,(因為zip.js的api使用起來比較繁瑣,所以自己封裝實現了這個插件)

  4:引用mime-types.js;

  查看DEMO, 使用方式為:

運行下面代碼

<!DOCTYPE html><html><head lang="en">  <meta charset="UTF-8">  <title></title>  <script src="http://gildas-lormeau.github.io/zip.js/demos/zip.js"></script>  <script src="http://gildas-lormeau.github.io/zip.js/demos/mime-types.js"></script>  <script src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.js"></script>  <script src="http://files.cnblogs.com/files/diligenceday/ZipArchive.js"></script></head><body><script>  var z = new ZipArchive;  z.addFile("a/a.txt", "aaaaaaacontent");  z.addFile("aaaa.txt", "aaaaaaaccccc");  z.export("nono");</script></body></html>

  DEMO在后面:文件下載下來, 文件夾的格式如下:

  JavaScript 實現的 zip 壓縮和解壓縮工具包Zip.js使用詳解 JavaScript 實現的 zip 壓縮和解壓縮工具包Zip.js使用詳解

回到頂部

  創建壓縮文件和文件夾的詳細源代碼:
運行下面代碼

<!DOCTYPE html><html><head lang="en">  <meta charset="UTF-8">  <title></title>  <script src="http://gildas-lormeau.github.io/zip.js/demos/zip.js"></script>  <script src="http://gildas-lormeau.github.io/zip.js/demos/mime-types.js"></script>  <script src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.js"></script>  <style>    code{      display: block;      padding: 10px;      background: #eee;    }  </style></head><body>  <div>    <h1>      兼容性    </h1>    <div>      <p>        zip.js可以在所有的chrome瀏覽器和firefox瀏覽器中運行, 可以在safari6和IE10,以及IE10以上運行;      </p>      <p>        如果要在IE9和safari中運行需要兩個設置:      </p>      <code>        1:zip.useWebWorkers == false      </code>      <code>        2:并引用這個JS:https://bitbucket.org/lindenlab/llsd/raw/7d2646cd3f9b/js/typedarray.js      </code>    </div>  </div><script>  zip.workerScriptsPath = "http://gildas-lormeau.github.io/zip.js/demos/";  /**   * @desc 壓縮文件;   * @event onprogress, onend, onerror;   * */  var ZipArchive = function() {    function noop() {};    this.name = "未命名文件";    this.zippedBlob = {};    var _this = this;    this.length = 0;    this.onend = noop;    this.onerror = noop;    this.onprogress = noop;    //創建一個延遲對象;    var def = this.defer = new $.Deferred();    zip.createWriter( new zip.BlobWriter("application/zip"), function(zipWriter) {      _this.zipWriter = zipWriter;      //繼續執行隊列;      def.resolve();    }, this.error );  };  ZipArchive.blob = function (filename, content) {    return new Blob([ content ], {      type : zip.getMimeType(filename)    });  };  $.extend( ZipArchive.prototype, {    /**     * @desc 添加文件     * @param String filename為文件的名字;     * @param String content;     * @param Object options 傳參     *   例如:{ level : 0} 壓縮的等級,0 到 9;     *   例如:{ comment : "提示文字" }     *   例如:{ lastModDate : "最后編輯時間" }     * */    "addFile" : function ( filename , content, options) {      var _this = this;      blob = ZipArchive.blob(filename, content);      //為了產生鏈式的效果, 必須把deferrer賦值給新的defer      this.defer = this.defer.then(function() {        var def = $.Deferred();        _this.zipWriter.add(filename, new zip.BlobReader(blob)            ,function() { // reader              console.log("addFile success!!");              def.resolve();              //zipWriter.close(callback);            }, function (size, total) { //onend              _this.onend(filename, blob, total);              _this.length += total;            }, function () { //onprogress              _this.onprogress(filename, blob, total);            },options || {              //options            });        return def;      });    },    /**     * @desc 添加文件夾, 我發現這個文件無法創建;     * @desc 創建文件夾功能不好用, 需要創建文件夾你通過 zipWriter.addFile("directory/filename.txt", blob())創建文件夾和對應文件;;     * */    "_addFolder" : function (foldername , options) {      //創建文件夾功能目前不能用;      //創建文件夾功能不好用, 直接通過 zipWriter.addFile("directory/filename.txt", blob())創建文件夾和文件      return this;    },    "size" : function () {      return this.length;    },    /**     * @desc 獲取blob文件     * */    "get" : function () {      return this.zippedBlob;    },    /**     * @desc 導出為zip文件     * */    "export" : function ( name ) {      name = name || this.name;      var _this = this;      this.defer.then(function() {        _this.zipWriter.close(function( zippedBlob ) {          if( typeof name === "string" || typeof name === "number") {            var downloadButton = document.createElement("a"),                URL = window.webkitURL || window.mozURL || window.URL;            downloadButton.href = URL.createObjectURL( zippedBlob );            downloadButton.download = name + ".zip";            downloadButton.click();          }else{            name( zippedBlob );          };        });      });    },    "error" : function() {      this.onerror( this );      throw new Error("壓縮文件創建失敗");    }  });</script><script>  var z = new ZipArchive;  z.addFile("a/a.txt", "aaaaaaacontent");  z.addFile("aaaa.txt", "aaaaaaaccccc");  z.export("nono");</script></body></html>


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色婷婷成人综合| 国产精品盗摄久久久| 欧美视频在线视频| 狠狠躁夜夜躁人人爽天天天天97| 亚洲一级黄色av| 日本久久久久久久| 欧美一级片免费在线| 亚洲一区二区三区香蕉| 一区二区日韩精品| 国产成人综合精品在线| 亚洲免费福利视频| 欧美亚洲日本网站| 91精品视频在线| 国语自产精品视频在线看抢先版图片| 日韩av大片免费看| 色婷婷综合久久久久| 国内精品国产三级国产在线专| 国产精品嫩草影院一区二区| 色阁综合伊人av| 欧美性猛交xxxxx水多| 亚洲欧洲日韩国产| 国产成人jvid在线播放| 欧美大尺度激情区在线播放| 视频在线观看一区二区| 日韩av中文在线| 高清在线视频日韩欧美| 91精品久久久久久久久久| 久久视频国产精品免费视频在线| 国内偷自视频区视频综合| 97超碰色婷婷| 欧美人成在线视频| 国a精品视频大全| 国产精品久久久久久久久久ktv| 欧美一级淫片videoshd| 日韩av在线导航| 一区二区三区天堂av| 欧美精品免费在线观看| 成人日韩在线电影| 日韩av电影在线免费播放| 国产精品ⅴa在线观看h| 国产成人精品久久亚洲高清不卡| 黑人极品videos精品欧美裸| 这里只有精品丝袜| 2024亚洲男人天堂| 97视频免费在线观看| 久久久国产精品一区| 2019中文字幕在线免费观看| 亚洲日本成人女熟在线观看| 正在播放亚洲1区| 欧美日韩国产中文字幕| 国产精品成人免费视频| 欧美视频国产精品| 91久久久久久久久久久| 一区二区欧美在线| 91精品国产99久久久久久| 久久久亚洲国产| 亚洲欧美在线一区二区| 久久久久久久av| 国产91色在线免费| 国产精品久久国产精品99gif| 国产成人高潮免费观看精品| 日韩欧美中文字幕在线播放| 精品国产一区二区三区久久久| 日韩在线视频网| 欧美日韩精品中文字幕| 88国产精品欧美一区二区三区| 一区二区三区四区视频| 国产成人一区二区在线| 日韩av在线免费观看一区| 国产精品91久久| 亚洲国产精品99| 国产91精品久久久久| 国产日韩在线视频| 亚洲女人被黑人巨大进入| 亚洲小视频在线观看| 色av中文字幕一区| 国产精品一区二区三区久久| 久久男人资源视频| 中文字幕精品在线视频| 欧美日韩国产一区二区| 日韩中文有码在线视频| 精品久久久久国产| 狠狠躁天天躁日日躁欧美| 欧美激情一级精品国产| 亚洲高清久久网| 久久久久久久影院| 欧美日韩国产成人| 中文字幕日韩av| 亚洲欧美日韩直播| 国产精品96久久久久久又黄又硬| 国产有码在线一区二区视频| 亚洲天堂av在线免费| 国产精品扒开腿做| 欧美精品生活片| 狠狠久久五月精品中文字幕| 国产日韩欧美成人| 日韩视频在线观看免费| 亚洲午夜精品久久久久久久久久久久| 成人黄色av网站| 精品人伦一区二区三区蜜桃网站| 国产女精品视频网站免费| 97碰在线观看| 欧洲成人免费aa| 欧美国产日韩一区二区三区| 成人精品久久av网站| 国产欧美久久久久久| 日韩欧美中文免费| 国产精品女人久久久久久| 成人天堂噜噜噜| 理论片在线不卡免费观看| 亚洲一区二区三区在线视频| 中日韩午夜理伦电影免费| 成人做爰www免费看视频网站| 亚洲tv在线观看| 亚洲精品美女在线观看播放| 欧美黑人一级爽快片淫片高清| 91天堂在线视频| 欧美日本中文字幕| 久久影院在线观看| 日韩欧美精品网址| 91在线色戒在线| 久久国产精品亚洲| 国产精品精品久久久| 亚洲国产中文字幕久久网| 欧美wwwwww| 日韩在线免费视频观看| 91在线精品播放| 欧美精品久久久久| 亚洲精品免费一区二区三区| 成人免费淫片视频软件| 国产一区二区黄| 精品国产一区二区三区久久| 欧美在线视频在线播放完整版免费观看| 久久国产精品电影| 69久久夜色精品国产7777| 免费不卡欧美自拍视频| 亚洲成年人影院在线| 欧美二区乱c黑人| 日韩在线视频中文字幕| 亚洲天堂影视av| 日韩中文有码在线视频| 4k岛国日韩精品**专区| 国产亚洲精品久久久久久牛牛| 国产精品高清在线| 91亚洲午夜在线| 久久国产精品视频| 久久精品国产亚洲7777| 欧美在线视频一区二区| 亚洲网在线观看| 中文字幕国产精品久久| 中文国产成人精品| 亚洲美女久久久| 免费av在线一区| 久久精品视频在线观看| 亚洲欧美综合另类中字| 国产一区二区黑人欧美xxxx| 黑人巨大精品欧美一区二区一视频| 亚洲欧美日韩综合| 国产亚洲一区二区精品| 国产精品对白刺激| 欧洲精品毛片网站| 亚洲欧洲美洲在线综合| 亚洲亚裔videos黑人hd| 欧美视频精品一区|