前端代码:
upload = () => {
let _this = this;
html2canvas(document.getElementById('xx'), {
useCORS: true,
allowTaint: false,
logging: false,
backgroundColor: 'transparent',
width: '100%',
height: '100%',
scale: 2,
}).then((canvas) => {
let url = canvas.toDataURL('image/png', 1.0);
_this.setState({
url,
});
Toast.hide();
});
}
1.设置useCORS为true,支持跨域
2.后端服务器配置Access-Control-Allow-Origin: *,允许跨域
3.然后发现动态图片还是跨域,导致html2Canvas将当前dom节点无法转成图片,按照网上办法,
(1)给图片设置动态时间戳,
(2)给图片设置crossOrigin="anonymous" ,
但是 还是有问题
此时需要后端再设置Cache-Control: no-store, no-cache,不允许 缓存就