axios接收后台图片二进制流显示到前端

在使用Vue+axios做项目时候遇到一个问题,就是后台传给前端一个图片二进制流的时候,我这边进行转换Base64图片,然后进行显示,希望有所帮助。

推荐UI框架:
iView: https://www.iviewui.com/
Mint-ui: http://mint-ui.github.io/#!/en
代码如下:

// 代码是Vue形式的,自行转换
getImgCodeApi:function(obj){
        this.$http.get("url", {
          responseType: "arraybuffer",
        }).then(function (response) {
        //将从后台获取的图片流进行转换
          return 'data:image/png;base64,' + btoa(
            new Uint8Array(response.data).reduce((data, byte) => data + String.fromCharCode(byte), '')
          );
        }).then(function (data) {
        //接收转换后的Base64图片
          obj.imgCodeUrl = data;
        }).catch(function (err) {
        })
      },

你可能感兴趣的:(web前端,Vue,JavaScript)