vue+axios将后端返回的图片流显示到img标签中


      var that = this
      axios
        .get("接口地址", {
          responseType: "arraybuffer",
          params: 传给后端的数据
        })
        .then(response => {
          return (
            "data:image/png;base64," +
            btoa(
              new Uint8Array(response.data).reduce(
                (data, byte) => data + String.fromCharCode(byte),
                ""
              )
            )
          );
        })
        .then(data => {
          this.imgUrl = data; //赋值给img标签的src属性
        });

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

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

你可能感兴趣的:(vue)