//进行截图操作,document.querySelector("body") 为要截图的区域
function test() {
html2canvas(document.querySelector("body"), {
onrendered: function (canvas) {
var dataUrl = canvas.toDataURL('image/png');
var formData = new FormData(); //模拟表单对象
formData.append("imgData", convertBase64UrlToBlob(dataUrl)); //写入数据
var xhr = new XMLHttpRequest(); //数据传输方法
xhr.open("POST", "http://localhost:8080/pdf"); //配置传输方式及地址
xhr.send(formData);
xhr.onreadystatechange = function () { //回调函数
};
}
});
}
//格式化图片base64编码转换为byte文件流
function convertBase64UrlToBlob(urlData){
//去掉url的头,并转换为byte
var bytes=window.atob(urlData.split(',')[1]);
//处理异常,将ascii码小于0的转换为大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var s = 0;s<bytes.length;s++){
ia[s] = bytes.charCodeAt(s);
}
return new Blob( [ab] , {type : 'image/png'});
}
<body onclick="test()">//调用截图方法即可