需要引入jszip.min.js 以及 FileSaver.js
js代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79$(function(){ $('#imageExportBtn').click(function() { //导出图片按钮绑定事件 packageImages(); }); }) function packageImages(){ var imgs = ['']; //放图片路径 var imgBase64 = []; var imageSuffix = [];//图片后缀 var imageNames = []; var zip = new JSZip(); zip.file("readme.txt", "传输图n"); var img = zip.folder("images"); for(var i=0;i<imgs.length;i++){ var src = imgs[i]; var name = src.substring(71); imageNames.push(name); var suffix = src.substring(src.lastIndexOf(".")); imageSuffix.push(suffix); getBase64(imgs[i]) .then(function(base64){ imgBase64.push(base64.substring(22)); // console.log(base64);//处理成功打印在控制台 },function(err){ console.log(err);//打印异常信息 }); } function tt(){ setTimeout(function(){ if(imgs.length == imgBase64.length){ for(var i=0;i<imgs.length;i++){ img.file(imageNames[i], imgBase64[i], {base64: true}); } zip.generateAsync({type:"blob"}).then(function(content) { // see FileSaver.js saveAs(content, "images.zip"); }); }else{ // console.log('imgs.length:'+imgs.length+',imgBase64.length:'+imgBase64.length); console.log('进度:'+imgBase64.length+'/'+imgs.length); tt(); } },100); } tt(); } //传入图片路径,返回base64 function getBase64(img){ function getBase64Image(img,width,height) {//width、height调用时传入具体像素值,控制大小 ,不传则默认图像大小 var canvas = document.createElement("canvas"); canvas.width = width ? width : img.width; canvas.height = height ? height : img.height; var ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0, canvas.width, canvas.height); var dataURL = canvas.toDataURL(); return dataURL; } var image = new Image(); image.crossOrigin = 'Anonymous'; image.src = img; var deferred=$.Deferred(); if(img){ image.onload =function (){ deferred.resolve(getBase64Image(image));//将base64传给done上传处理 } return deferred.promise();//问题要让onload完成后再return sessionStorage['imgTest'] } }
最后
以上就是迅速小懒虫最近收集整理的关于js实现图片压缩zip下载功能的全部内容,更多相关js实现图片压缩zip下载功能内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复