最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jszip插件實(shí)現(xiàn)圖片打包下載的方法分析 原創(chuàng)

原創(chuàng)  更新時(shí)間:2023年05月19日 09:15:46   原創(chuàng) 投稿:shichen2014  
這篇文章主要介紹了jszip插件實(shí)現(xiàn)圖片打包下載的方法,結(jié)合實(shí)例形式分析了JavaScript使用jszip插件依據(jù)圖片列表打包下載zip壓縮文件的相關(guān)操作技巧,需要的朋友可以參考下

前言

由于后端使用php、node.js、java等進(jìn)行大量的圖片下載操作可能會(huì)導(dǎo)致服務(wù)器負(fù)載過高,所以將圖片下載轉(zhuǎn)移到客戶端是個(gè)不錯(cuò)的選擇,借助 HTML5 中的新特性 Blob 和 URL.createObjectURL API 實(shí)現(xiàn)。

實(shí)現(xiàn)代碼

function download(){
  var urls = [
    "https://example.com/img1.jpg",
    "https://example.com/img2.png"
  ];
  var zip = new JSZip();
  var count = 0;
  urls.forEach((url, index) => {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", url, true);
    xhr.responseType = "blob";
    xhr.onload = function () {
      if (xhr.status === 200) {
        var name = url.substring(url.lastIndexOf("/") + 1);
        zip.file(name, xhr.response);
      }
      count++;
      if (count === urls.length) {
        zip.generateAsync({type:"blob"}).then(function(content) {
          saveAs(content, "pictures.zip");
          console.log("下載成功");
        });
      }
    };
    xhr.send();
  });
}

另外,注意:在頁面頂部還需要引入jszip插件

<head>
  <script src="https://cdn.bootcdn.net/ajax/libs/jszip/3.6.0/jszip.min.js"></script>
</head>

這樣可以將圖片下載過程從服務(wù)器轉(zhuǎn)移到客戶端,從而減輕服務(wù)器壓力。同時(shí)需要注意的是,在使用客戶端進(jìn)行大量圖片下載時(shí),也要防止網(wǎng)絡(luò)請求并發(fā)數(shù)量過多導(dǎo)致瀏覽器崩潰。

相關(guān)文章

最新評(píng)論

兰溪市| 句容市| 旬阳县| 南澳县| 四川省| 汝南县| 新化县| 铜山县| 台江县| 兴化市| 洛扎县| 星子县| 如东县| 河源市| 榆林市| 辽宁省| 精河县| 镇雄县| 泾川县| 克东县| 安阳县| 营山县| 山阳县| 四会市| 任丘市| 沿河| 滦平县| 图片| 两当县| 连南| 永宁县| 成安县| 巴里| 佛学| 莆田市| 义马市| 宁强县| 宜良县| 津南区| 四会市| 瓮安县|