大致思路
html ——> canvas ——> image ——> url
- html2canvas.js:可将 htmldom 转为 canvas 元素。传送门
- canvasAPI:toDataUrl() 可将 canvas 转为 base64 格式
- base64转成file,通过upload接口生成url
踩坑
1 截图不全
会因为设置了scale()缩放方法导致截图不全。
解决方法:截图时,将图片缩放设置为1
2 线上图片无法截图
html2canvas(newNode, {
useCORS: true
}) // 开启跨域
图片服务器nginx配置
location / {
add_header Access-Control-Allow-Origin *;
}
缺一不可