在下载图像时,我能够将画布数据中的图像附加到文档正文,但只有最后一张图像被下载了吗?
var canvas = document.getElementsByClassName('canvas');
for(var i=0; i<canvas.length; i++){
function doCanvas(){
ctx = canvas[i].getContext('2d');
ctx.fillStyle = '#f90';
ctx.fillRect(0, 0, canvas[i].width, canvas[i].height);
ctx.fillStyle = '#fff';
ctx.font = '30px sans-serif';
ctx.fillText('Canvas_'+i, 10, canvas[i].height / 2 - 15);
}
doCanvas();
}
document.getElementById('download').addEventListener('click', downloadCanvas, false);
function downloadCanvas() {
for(var j=0; j < canvas.length; j++){
this.href = canvas[j].toDataURL();
var im = document.createElement('img');
im.src=this.href;
document.body.appendChild(im);
this.download = 'test'+j+'.png';
}
}
<canvas width="300" height="100" class="canvas"></canvas>
<canvas width="300" height="100" class="canvas"></canvas>
<a id="download" style="background: gray; height: 20px; text-align: center; display: block; width: 100px">Download</a>
答案 0 :(得分:0)
经过多次搜索后,我在JS库下面找到了。
jszip /
jszip-utils的
FileSaver.js
使用这三个我现在只需点击一下即可下载多个文件。