html2canvas

sakurahua 2017-12-20 11:39:10
html2canvas怎么给下载的图片改名字和加后缀啊,跪求大佬赐教
贴上代码: html2canvas($("#download")).then(function(canvas) {
var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // 获取生成的图片的url
window.location.href= imgUri; // 下载图片
});
...全文
307 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_31570703 2019-01-12
  • 打赏
  • 举报
回复
//保存海报
function downloadImg(){
	html2canvas($(".active")[0]).then(function (canvas) {
		$('#snapshot').attr('src',canvas.toDataURL('image/png'));
		download(canvas.toDataURL('image/png'));
		msg.alert('海报已下载!');
	});
}	

//下载图片
function download(da){
	let imgData = da;
	this.downloadFile('share.png', imgData);
}

//下载
function downloadFile(fileName, content){
	let aLink = document.createElement('a');
	let blob = this.base64ToBlob(content); //new Blob([content]);
	let evt = document.createEvent("HTMLEvents");
	evt.initEvent("click", true, true);//initEvent 不加后两个参数在FF下会报错  事件类型,是否冒泡,是否阻止浏览器的默认行为
	aLink.download = fileName;
	aLink.href = URL.createObjectURL(blob);
	aLink.click()
}

//base64转blob
function base64ToBlob(code){
	let parts = code.split(';base64,');
	let contentType = parts[0].split(':')[1];
	let raw = window.atob(parts[1]);
	let rawLength = raw.length;
	let uInt8Array = new Uint8Array(rawLength);
	for (let i = 0; i < rawLength; ++i) {
		uInt8Array[i] = raw.charCodeAt(i);
	}
	return new Blob([uInt8Array], {type: contentType});
}

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧