日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

vue 项目图片批量导出并压缩成zip

發(fā)布時(shí)間:2023/12/13 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 vue 项目图片批量导出并压缩成zip 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、安裝依賴并引入

  npm install jszip --save

  npm install file-saver --save

  import JSZip from 'jszip'
  import FileSaver from 'file-saver'
2、將遠(yuǎn)程或本地圖片的url轉(zhuǎn)換成base64,然后下載

 /**
   *多個(gè)圖片壓縮成zip導(dǎo)出
   */
 private downloadZip() {
   let that = this
   const zip = new JSZip()
   let arrs:any = [] // 這個(gè)數(shù)組只用于判斷圖片是否都轉(zhuǎn)換成base64
   setTimeout(_ => {
     let arr = that.multipleSelections // 待轉(zhuǎn)換的數(shù)據(jù)(包含圖片的名和地址)
     arr.forEach((item:any) => {
       let fileName = item.orgName // 圖片那么
       let url = ''
       // item.shareImg 是圖片地址
       that.getBase64(item.shareImg, (dataURL:any) => {
         url = dataURL // 圖片url轉(zhuǎn)換成base64
         zip.file(fileName + '.png', url.substring(22), { base64: true })
         arrs.push(url)
         if (arrs.length === that.multipleSelections.length) { // 若要導(dǎo)出的圖片全部轉(zhuǎn)換為base64了,則開始導(dǎo)出
           zip.generateAsync({ type: 'blob' }).then(content => {
             FileSaver.saveAs(content, '二維碼.zip')
           })
         }
       })
     })
   }, 0)
 }
 // 圖片url轉(zhuǎn)換成base64
 private getBase64(url:string, callback:any) {
   var Img = new Image()
   var dataURL = ''
   Img.src = url + '?v=' + Math.random()
   Img.setAttribute('crossOrigin', 'Anonymous')
   Img.onload = function() {
     var canvas:any = document.createElement('canvas')
     var width = Img.width
     var height = Img.height
     canvas.width = width
     canvas.height = height
     canvas.getContext('2d').drawImage(Img, 0, 0, width, height)
     dataURL = canvas.toDataURL('image/jpeg')
     return callback ? callback(dataURL) : null
   }
 }

 JSzip API地址:https://stuk.github.io/jszip/documentation/api_jszip/constructor.html

  

總結(jié)

以上是生活随笔為你收集整理的vue 项目图片批量导出并压缩成zip的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。