前端将网页保存为图片,再发送给用户的流程

本文详细介绍了前端如何将网页内容保存为图片,然后通过上传至云端,调用后端接口获取mediaId,最后利用mediaId通过企业微信API发送图片给用户的过程。
摘要由CSDN通过智能技术生成
第一步:将网页图片保存为图片
saveQrcode() {
   
      this.loadingFlag = true;
      window.pageYOffset = 0;
      document.documentElement.scrollTop = 0;
      document.body.scrollTop = 0;
      //你想要生成的图片的最外层div加一个id=qrCodeContainer
      let htmlDom = document.getElementById("qrCodeContainer");
      html2canvas(htmlDom, {
   
        backgroundColor: null, // null 表示设置背景为透明色
        width: htmlDom.clientWidth, //dom 原始宽度
        height: htmlDom.clientHeight,
        scrollY: 0,
        scrollX: 0,
        allowTaint: false,
        useCORS: true, // 解决需要生成的html中有img,生成的图片不显示
      }).then((canvas) => {
   
      //imgUrl是生成的base64,放到浏览器可直接查看图片,不过特别长,若调接口的时候传给后端,会有卡顿,所以将base64转成file文件
        const imgUrl = canvas.toDataURL("image/jpeg");
        //把base64转成file文件
        let picFile = this.dataURLtoBlob(imgUrl, "图片");
      	// 调用cos上传
        this.upload(picFile, "medAdvice/").then((res) => {
   
        //调接口获取MediaId,传参是图片url
          this.getMediaId(res.Url);
        });
      });
    },
将base64转换为blob(上面代码里要用到)
dataURLtoBlob(dataurl, fileName) {
   
      var arr = dataurl.split(","),
        mime = arr[0].match(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值