将生成的签名图片base64转二进制传给后端

140 阅读1分钟

记录一次做签名功能时,将生成的签名转换后传给后端,过程是签名后获取到了base64的图片,将他转成blob链接传给后端

    console.log(this.baseUrl,'this.baseUrl');// base64的图片
    //convertBase64UrlToBlob函数是将base64编码转换为File
    let signatureImg = convertBase64UrlToBlob(this.baseUrl)
    console.log(signatureImg,'signatureImg')
    var formData = new FormData();
    formData.append("file", signatureImg);
    

  //将base64转为blob,传给后端获取签名链接
  export const  convertBase64UrlToBlob = (urlData)=> {
    //去掉url的头(data:image/png;base64),并转换为byte
    //处理异常,将ascii码小于0的转换为大于0
    var bytes = window.atob(urlData.split(",")[1]); 
    var ab = new ArrayBuffer(bytes.length);
    var ia = new Uint8Array(ab);
    for (var i = 0; i < bytes.length; i++) {
      ia[i] = bytes.charCodeAt(i);
    }
    return new File([ab], 'image.png');
  }