美文网首页
js base64转File格式并提交上传

js base64转File格式并提交上传

作者: BlinglingSam | 来源:发表于2020-05-26 19:36 被阅读0次

    最近项目做了OCR,那图片传输的格式需要以form-data文件的格式传输,移动端调用原生方法获取图片信息,只能拿到base64编码,所以需要通过格式转换成文件流的格式去提交。

    base64转File

    
    /**
     * base64ToFile base64转文件
     * @param {String} urlData base64编码参数
     */
    function base64ToFile(baseData) {
      let arr = baseUrl.split(',');
      let type = arr[0].match(/:(.*?);/)[1];   // 解锁图片类型
      let bytes = atob(arr[1]); // 解码base64
      let n = bytes .length
      let bufferArray = new Uint8Array(i);
      while (n--) {
        bufferArray[n] = bytes.charCodeAt(n);
      }
      return new File([bufferArray ], { type: type });
    }
    

    以form-data格式上传

    form-data格式需要注意的是头信息中Content-Type需设置为 multipart/form-data

    /**
     * uploadImg OCR上传识别图片  
     */
    function uploadImg (baseData) {
      let file = base64ToFile(baseData) 
      let formData = new FormData()
      formData.append('file', file)
      let url = `/api/test`
      return formDataHttp.post(url, formData)  // formDataHttp是`multipart/form-data`的axios实例。
    }
    

    相关文章

      网友评论

          本文标题:js base64转File格式并提交上传

          本文链接:https://www.haomeiwen.com/subject/tcoqohtx.html