axios请求文件流以及显示

如果后端放回的是文件流那么正常请求拿到的就会是一堆乱码:axios请求文件流以及显示_第1张图片
这时候就要设置一下接受的格式了,
给axios加上responseType: “blob”
取到的就是一个file格式
在这里插入图片描述
再用一个 blob去接

var blob = new Blob([res.data], { type: "imageType" });

就会变成这样
在这里插入图片描述
在转成链接

var image = (window.URL || window.webkitURL).createObjectURL(blob);

在这里插入图片描述
就可以直接用img标签显示了

整体代码:

let code = ref("");
axios
  .post("url", {params}, { responseType: "blob" })
  .then(res => {
    // file 转blob
    var blob = new Blob([res.data], { type: "imageType" });
    // blob 转 url
    var image = (window.URL || window.webkitURL).createObjectURL(blob);
    code.value = image;
  });

你可能感兴趣的:(vue,vue,js)