var myForm = new FormData() //要传给后端的数据
      myForm.append(数据的key, 数据的value)
      var headers = { 'Content-Type': 'multipart/form-data' }
      axios({
        method: 'post',
        url: 请求地址,
        data: myForm,
        responseType: 'arraybuffer',
        headers: headers,
      })
        .then((response) => {
          return (
            'data:image/png;base64,' +
            btoa(new Uint8Array(response.data).reduce((data, byte) => data + String.fromCharCode(byte), ''))
          )
        })
        .then((data) => {
          this.codeUrl = data //data可以直接放到img标签的src中
        })

费了好大劲,刚开始用什么blob结果格式不对,又直接写base64的也不对,直接赋值更不对了。

上面的方法可以,亲测有效,responseType: "arraybuffer",很重要哦

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐