主要用到 jszip 和 file-saver

下载包!

npm install jszip --save
npm install file-saver --save

js部分`

methods: {//downImg是点击事件!downImg() {var blogTitle = '打包图片';var zip = new JSZip();var imgs = zip.folder(blogTitle);var baseList = [];// 要下载图片的urlvar arr = ['./img1.png', './img2.png', './img3.png'];//这里数组内的图片,可以换成自己的图片url地址!// 下载后图片的文件名,个数应与arr对应var imgNameList = ['图片1', '图片2', '图片3'];//这里的数组内的图片名字,可以换成自己对应的!如果是后端返回的,那么//就可以从后端返回的数据里面取到图片名字,push到数组内!for (var i = 0; i < arr.length; i++) {let image = new Image();// 解决跨域 Canvas 污染问题image.setAttribute('crossOrigin', 'anonymous');image.onload = function () {let canvas = document.createElement('canvas');canvas.width = image.width;canvas.height = image.height;let context = canvas.getContext('2d');context.drawImage(image, 0, 0, image.width, image.height);let url = canvas.toDataURL(); // 得到图片的base64编码数据canvas.toDataURL('image/png');baseList.push(url.substring(22));    // 去掉base64编码前的 data:image/png;base64,if (baseList.length === arr.length && baseList.length > 0) {for (let k = 0; k < baseList.length; k++) {imgs.file(imgNameList[k] + '.png', baseList[k], {base64: true})}zip.generateAsync({type: 'blob'}).then(function (content) {// see FileSaver.jsFileSaver.saveAs(content, blogTitle + '.zip');});}};image.src = arr[i];}}
}
//最后温馨提示,如果图片划分了类型,每个类型都要执行不同操作的话,记得把push进去的图片清空!

vue批量打包下载图片相关推荐

  1. 【jQuery】jQuery与vue实现点击下载图片 以及js实现批量打包下载图片

    原理:用canvas的toDataUrl() API获取到图片的base64编码,再利用触发a标签事件进行下载.(单张图片下载) 多张图片批量下载导出压缩包需要引入jsZip jQuery实现点击下载 ...

  2. 根据URL下载单个图片与批量打包下载图片(文件同理)

    根据url下载图片看起来很简单,做起来还是有点曲折的 首先,直接file_put_content()的话可以下载图片但不知道图片保存在什么位置,所以必须要调用浏览器下载,使用header头. func ...

  3. 实战:JS批量打包下载图片--(zip压缩)

    1.下载两个插件 npm i -s jszip file-saver 2.封装函数如下: // 在JS文件中引入这两个插件 import JSZip from 'jszip' import FileS ...

  4. 前端批量打包下载图片

    1.批量下载图片(jquery)  <!DOCTYPE html> <html><head><meta charset="utf-8" / ...

  5. js批量打包下载图片

                    html文件内容 <!DOCTYPE html> <html lang="en"><head> </hea ...

  6. JSZip + FileSaver 实现Vue打包下载图片

    1. 版本 "file-saver": "^2.0.5", "jszip": "^3.6.0" 2. 实现 import ...

  7. 阿里云OSS文件批量打包下载

    阿里云OSS文件批量打包下载 public void downloadReport(List<String> fileNames,HttpServletResponse response) ...

  8. JAVA实现文件批量打包下载

    JAVA实现文件批量打包下载 实现 1.打包工具类的实现 /*** @author zhouxuan* @since 2019/4/19*/ public class ZipUtils {/*** @ ...

  9. PHP使用ZipArchive对文件进行批量打包下载

    PHP使用ZipArchive对文件进行批量打包下载 话不多说直接上图 DEMO 代码示例 <?php$file = $_GET['file'];//文件判断,无文件阻止if(!$file){e ...

  10. 打包下载图片(文件)

    1. 打包下载图片(文件) ·ReportFile 实体类 随便你自己怎么写了 ·reportFile.getFilePath() 文件存放路径 /*** @param id*/ @ResponseB ...

最新文章

  1. 电脑识别指令和代码的原理
  2. Qt设置QLabel的样式
  3. TensorFlow基础1(波士顿房价/鸢尾花数据集可视化)
  4. C++ 面试题:子类与父类同名变量
  5. 016--VS2013 C++ 透明动画
  6. java学习(51):上转型对象
  7. (五)uboot移植补基础之shell
  8. Beats发布Beats Fit Pro耳机 停产Powerbeats等三款旧耳机
  9. 时间操作(Java版)—获取给定时间与当前系统时间的差值(以毫秒为单位)
  10. 单片机原理及应用 张鑫_单片机原理及应用
  11. 从数据库索引到数据库优化
  12. 简单脱壳教程笔记(6)---手脱FSG壳
  13. BMVC-2021-DETR: End-to-End Object Detection with Transformers 阅读笔记
  14. Web Intelligence and Big Data--Final Exam
  15. sql md5或shal加密
  16. The Client hold the Interface
  17. chatgpt 的强大让你慌了么?趁着还有点理智,跟着我看看怎么玩吧!
  18. springboot+shiro自定义拦截器互踢问题
  19. 实战|使用python推送微信公众号消息(哄女友专用)
  20. JD 1421:Abor(概率统计)

热门文章

  1. 使用命令结束Linux系统
  2. html写樱花树,写樱花树的作文
  3. 十大靠谱“计算机视觉数据集”榜单
  4. kali安装WingIDE遇到软件依赖性问题的处理
  5. 阿里云LOGO在线设计入口说明
  6. 回答缺点?这样回答HR听完直呼大佬!
  7. HttpMessageNotReadableException: Required request body is missing
  8. win10打印机无法打印(怎样使用打印机打印)
  9. EnjoyingSoft之Mule ESB开发教程第五篇:控制消息的流向-数据路由
  10. 计算某一点绕另一点旋转一定角度后的坐标