一:html2canvas制作图片时如果dom中有跨域路径时会无法转换 解决:图片在后端转为base64格式后再传输到前端 二:html2canvas制作的图片为base64格式,数据量超过2M时,无法使用post传递,上传到服务端较为麻烦 解决:在前端将base64格式图片转为二进制文件后用formdata传给后端 dataURItoBlob(base64Data) { var byteString; if (base64Data.split(",")[0].indexOf("base64") >= 0){ byteString = atob(base64Data.split(",")[1]); }else byteString = unescape(base64Data.split(",")[1]); var mimeString = base64Data.split(",")[0].split(":")[1].split(";")[0]; var ia = new Uint8Array(byteString.length); for (var i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } return new Blob([ia], { type: mimeString }); }