页面生成图片-html2canvas

引入js

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></script>

html2canvas详细参考官方:http://html2canvas.hertzen.com/

示例

编写html,指定根标签id:table

<table id="table" border="1px" style="height: 100px;width: 100px;background-color: #CCCCCC;" align="center">
	<tr>
		<td>1</td>
		<td>1</td>
		<td>1</td>
	</tr>
	<tr>
		<td>2</td>
		<td>2</td>
		<td>2</td>
	</tr>
</table>

生成图片base64

$("#bun").click(function() {
	html2canvas(document.querySelector("#table")).then(function(canvas) {
		var imgUri = canvas.toDataURL();
		console.log(imgUri); //图片:base64字符串
		$("body").append('<a href="' + imgUri + '" download="'+Date.parse(new Date())+'">下载图片</a>');
	})
})

备注:测试下载图片,可使用Firefox 和 Chrome浏览器

base64转File对象

function base64URLtoFile(base64Url, filename) {
	var arr = base64Url.split(','),
		mime = arr[0].match(/:(.*?);/)[1],
		bstr = atob(arr[1]),
		n = bstr.length,
		u8arr = new Uint8Array(n);
	while(n--) {
		u8arr[n] = bstr.charCodeAt(n);
	}
	return new File([u8arr], filename, {
		type: mime
	});
}

base64图片上传

function fileupload(base64Url) {    
	var form = document.forms[0];    
	var formData = new FormData();    
	formData.append("file", base64URLtoFile(base64Url, Date.parse(new Date()) + ".png"));       
	$.ajax({
		url: '/file/upload',
		type: 'POST',
		data: formData,
		dataType: 'json',
		async: true,
		cache: false,
		contentType: false,
		processData: false,
		success: function(data) {
			console.log(data);
		},
		error: function(data) {
			alert(data);
		}
	});
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值