• 打包下载图片


      最近一个月公司新启动一个项目,在中后台管理上有个需求是,让用户能够打包下载已经上传好的图片。就研究下了一下,还踩了几个坑,这里简单记录下功能的实现。

    一、安装相关的依赖
    • npm install jszip --save

    • npm install file-saver --save

    二、使用
    • 引入下载好的依赖

        import JSZIP from 'jszip'
        import FileSave from 'file-saver'
      
    • 实例化 jszip

        const zip = new JSZIP()
      
    • 将图片转化为 Base64

        imgToBase64(url, cb) {
          let canvas = document.createElement('canvas')
          let ctx = canvas.getContext('2d')
          let img = new Image()
          img.crossOrigin = 'Anonymous'
          img.onload = function() {
            canvas.width = img.width
            canvas.height = img.height
            ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
            const result = canvas.toDataURL()
            cb(result)
            canvas = null
          }
          img.src = url
        }
      
    • 将图片进行转换后,进行打包下载

        this.imgToBase64(imgItem.image_url, (dataURL) => {
          const formatUrl = dataURL.split(',')[1]
          zip.file(index.toString() + fileType, formatUrl, { base64: true })
          if (Object.keys(zip.files).length === this.viewImage.length) {
            zip.generateAsync({ type: 'blob' }).then((content) => {
              FileSave.saveAs(content, '素材图片.zip')
            });
          }
        })
      
  • 相关阅读:
    HDU 1385 Minimum Transport Cost
    TOJ 3488 Game Dice
    TOJ 1717 WOJ
    POJ 2553 The Bottom of a Graph
    TOJ 1836 Play on Words
    利用OpenCV建立视差图像
    分享一个PyTorch医学图像分割开源库
    WACV 2021 论文大盘点-图像分割篇
    SolidWorks动画教程(1):简单动画制作
    VS2013安装及破解教程
  • 原文地址:https://www.cnblogs.com/aloneer/p/16041960.html
Copyright © 2020-2023  润新知