前端框架

图片url转化为base64位

2022-01-14  本文已影响0人  jesse28
  // 从相册选取照片后拼接成绝对路径之后转成base64
    operationImg(res) {
      console.log("res1", res);
      let fileId = res.resMap.fileIdList;
      let url = `${imgUrl}${fileId}`;
      //获取base64
      let image = new Image();
      image.src = url;
      image.setAttribute("crossOrigin", "Anonymous");
      image.onload = () => {
        let base64 = this.getBase64Image(image);
        let base64switch = base64.split(",")[1];
        // console.log("base64", base64.split(",")[1]);
        // 1.调用查看人脸识别接口
        // ********************************************
        apisearchFace({ imgData: base64switch }).then((res) => {
          console.log("调用人脸识别接口", res);
          if (res && res.code == 200) {
            this.$emit('sendFaceData',{
              isExist:true,
              imgData:base64switch
            })
            // 2.然后把得到的数据存到vuex
             let FacetempData = JSON.parse(res.data)
            console.log('存放vuex的值转成object',FacetempData)
            this.$store.dispatch("setEasyCaseFace", FacetempData);
          }else{
             this.$emit('sendFaceData',{
              isExist:false,
              imgData:base64switch
            })
             this.$store.dispatch("setEasyCaseFace", {});
          }
        });
       // ********************************************
      };
    },
    //网络url幢base64
    getBase64Image(img) {
      let canvas = document.createElement("canvas");
      canvas.width = img.width;
      canvas.height = img.height;
      let ctx = canvas.getContext("2d");
      ctx.drawImage(img, 0, 0, img.width, img.height);
      let ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
      let dataURL = canvas.toDataURL("image/" + ext);
      return dataURL;
    },
上一篇 下一篇

猜你喜欢

热点阅读