VUE 后端接口返回的是一张图片

是一个图形验证码的接口,点击验证码可以刷新,问题是我用之前的请求方式只是在 created 里面生效,再次点击就不会请求接口了。不明觉厉.

 

之前的写法是这样的

    // 切换验证码
     changeCodeImg:function(){
    this.verifyImg = '/api/login/image?r='+Math.random();
   },

不管是初始调用,还是点击调用都是可以的,可以在 network 中看到。

但是不知道什么原因,这次不行,点击事件是生效的,但是在 network 看不到请求。

 

所以换了一种写法

    changeCodeImg(){
      axios.get(way.authverifyCode, {
        responseType: 'blob'
      }).then((res) => {
        this.identifyingImg = window.URL.createObjectURL(res.data);
      })
  },

 

注意

responseType: 'blob'  这个是必须要有的

 

拿到二进制数据之后使用

window.URL.createObjectURL 

 

posted @ 2020-06-20 15:16  _whys  阅读(4995)  评论(0编辑  收藏  举报