当前位置: 首页 > news >正文

游戏网站排行上海网站制作网

游戏网站排行,上海网站制作网,自己架设服务器建网站,在线做编程题的网站开始: 最终结果: 1. html2canvas方法生成的图片地址已Base64编码形式放在img标签src中可直接展示生成的图片(注意页面标签获取位置,还有个setTimeout页面渲染需要时间) setTimeout(function () {var result {};v…

开始:                                                  最终结果:          

 

                                       

1. html2canvas方法生成的图片地址已Base64编码形式放在img标签src中可直接展示生成的图片(注意页面标签获取位置,还有个setTimeout页面渲染需要时间)

setTimeout(function () {var result = {};var htmlContent = document.getElementById("cockpit-drag");html2canvas(htmlContent,{background:`${htmlContent.style.backgroundImage}`,useCORS: true,// height:'100%',// scale: 2, // 处理模糊问题// dpi: 300, // 处理模糊问题}).then(function (canvas) {var imgData = canvas.toDataURL('image/png');var img = document.createElement("img");img.src = imgData;console.log(img);document.body.appendChild(img);
},3000)

2. 直接发给后端存储也可以  但是不严谨而且 Base64编码很长,有一个文件那么长  (正常已二进制file流的形式传输),所以我们要把Base64编码变成二进制流的形式,也是查了很多资料,踩了很多坑,做了很多尝试,最终成功和大家分享一下

   2-1. 需要先把生成的Base64编码转成blob(查了很多,网上这个方法都很统一,所以不会出大问题,以至于这个blob是什么不太懂 , 能用就行呀)

下边是var一个:blob方法 ↓↓↓↓↓↓↓↓↓↓↓↓

  var dataURLtoBlob =   function (dataurl){var arr = dataurl.split(','),mime = arr[0].match(/:(.*?);/)[1],bstr = atob(arr[1]),n = bstr.length,u8arr = new Uint8Array(n);while (n--) {u8arr[n] = bstr.charCodeAt(n);}return new Blob([u8arr], { type: mime })}

在这个位置调用   ↓↓↓↓↓↓↓↓↓↓↓↓

        2-2. 再把生成的blob转成二进制流(查了很多,网上这个方法都很杂,所以当时很蒙,只能不断尝试,各种踩坑,最终功夫不负有心人)

把blob转成二进制流的方法(这个东西打印有自己的方法,log打印不出来,想提升的同学再去多查查吧,今天不在这里说了

const formData = new FormData()formData.append('file',blob) 

直接写在这个位置就能用  ↓↓↓↓↓↓↓↓↓↓↓↓

OK,现在二进制流已生成 ,万事俱备(直接把formData作为参数传进接口里就可以用了)

接下来老规矩上完整代码  复制粘贴可用的(我用的是angular项目所以比较老,自己改一下红色方框位置,放接口就好)

图例:

代码:可复制

setTimeout(function () {var result = {};var htmlContent = document.getElementById("cockpit-drag");html2canvas(htmlContent,{background:`${htmlContent.style.backgroundImage}`,useCORS: true,// height:'100%',// scale: 2, // 处理模糊问题// dpi: 300, // 处理模糊问题}).then(function (canvas) {var imgData = canvas.toDataURL('image/png');var blob = dataURLtoBlob(imgData);const formData = new FormData()formData.append('file',blob) var xmlhttp = new XMLHttpRequest();xmlhttp.open("POST", url_+"dashboard/uploadImage", false);xmlhttp.send(formData);$scope.$apply(function () {$scope.persistFinish = true;});//   var img = document.createElement("img");//   img.src = imgData;// console.log(img);//   document.body.appendChild(img);});}, 3000)

大功告成,在大前端的路上又有点进步

 

http://www.yayakq.cn/news/568514/

相关文章:

  • 建设和优化网站的步骤一个网站怎么做软件
  • 深圳新站优化成都网站建设好多钱
  • 装饰公司网站源码下载响应式网站欣赏
  • 如何做网站活动wordpress文章导出ghost
  • 免费网站在线观看建设银行网站点不进去了怎么办
  • 北京移动官网网站建设dw旅游网站设计教程
  • 完整的网站优化放啊骨干专业建设网站
  • 帝国cms做下载网站dw网页版
  • 临沂网站备案公司小甲虫抖音代运营
  • c 网站开发简单实例红光网站建设
  • 上海高端it网站建设建筑网片有几种
  • 湖州建设局投标网站邢台网警
  • 网站设计思路做茶叶网站公司
  • 做网页赚钱的网站淘宝毕业设计网站代做
  • 天津和平做网站哪家好云南住房和城乡建设部网站
  • 织梦模板网站好吗实体行业做分销网站有什么好处
  • 中国空间站最新消息新闻网上注册公司流程教程
  • 可信网站是什么意思如何做网站数据库备份
  • 金融手机网站模板网站的国际化 怎么做
  • 用什么软件做动漫视频网站好注册公司的七个步骤
  • 平面设计素材网站推荐芷江建设工程招投标网站
  • 购物网站建设咨询wordpress管理地址在哪里
  • 湛江模板建站定制网站wordpress插件残留怎么删除
  • 什么网站百度收录好如何查询一个网站的空间
  • 一个高端的网站设计茶叶网站建设策划方案 u001f
  • 效果图参考网站android studio下载官网
  • 医疗网站专题怎样做北城旺角做网站的
  • pc主页网站建设网站营销如何做
  • 商务网站建设的一般流程惠州微网站推广方案
  • 辽 icp 大连 网站建设app制作