<template>
<div class='demo'>
<div style="display: none;">
<img src="../../assets/logo.png" class="yaojianbaogao" width="50" data-ordercode="霍痕" data-title="霍痕1" data-alt="霍痕1.png" >
<img src="../../assets/logo.png" class="yaojianbaogao" width="50" data-ordercode="霍痕" data-title="霍痕2" data-alt="霍痕2.png" >
<img src="../../assets/logo.png" class="yaojianbaogao" width="50" data-ordercode="霍痕" data-title="霍痕3" data-alt="霍痕3.png" >
</div>
<a href="javascript:;" @click="downloadzip()">打包下载</a>
</div>
</template>
<script>
import JSZip from 'jszip'
const FileSaver = require('file-saver')
export default {
data(){
return{
}
},
methods:{
downloadzip(){
var imgs = document.getElementsByClassName('yaojianbaogao')
console.log(imgs)
var zip = new JSZip();
var file_name = '';
Array.from(imgs).forEach(item => {
file_name = item.getAttribute('data-ordercode')+'.zip';
var img = zip.folder(item.getAttribute('data-title'));
var imgdata = this.getBase64Image(item.getAttribute('src'));
var img_arr = imgdata.split(',');
img.file(item.getAttribute('data-alt'),img_arr[1],{base64: true});
});
zip.generateAsync({type:"blob"}).then(function(content) {
FileSaver.saveAs(content, file_name);
});
},
getBase64Image(images){
var img = new Image();
img.src = images;
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, img.width, img.height);
var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();
var dataURL = canvas.toDataURL();
return dataURL;
}
}
}
</script>
vue中实现本地图片打包成.zip文件
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...