要求 在执行一定事件后对操作的网页进行截图保存。
使用js工具:
<script src="https://cdnbootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></script>
<script type="text/javascript" src="http://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></script>
引入JS后就可以进行截图操作了;
jquery代码:
function sendPic() {
//使用
html2canvas(documentEle.body, {
scale: 1
}).then((image)=>{
var url = image.toDataURL();//图片
$.ajax({
url: "" ,
type:'POST',
datatype:'jsonp',
contentType:'application/json',
data: {
url:url
},
success:function(res){
}
})
});
}
后台代码:
//MVC的 直接可以接收参数
public String save(String url) {
try {
String rr = param.replaceAll("data:image/png;base64,", "");//这行是图片能不能正常转换的关键
//Base64解码
byte[] b = decoder.decodeBuffer(rr);
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {
//调整异常数据z
b[i] += 256;
}
}
//生成jpeg图片
//图片写到流里面 可以做其他操作了
InputStream input = new ByteArrayInputStream(b);
return null;
}
} catch (Exception e) {
return null;
}
}