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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐