二进制流导出

Jonescy

关注

阅读 98

2022-03-14

  1. 插件方式

插件地址
https://github.com/kennethjiang/js-file-download
下载

npm install js-file-download --save

用法

import Axios from axios;
import fileDownload from 'js-file-download';

function download(url: string, filename: string) {
  Axios.get(url, {
    responseType: 'blob',
  }).then(res => {
    fileDownload(res.data, filename);
  });
}
  1. 还有一种非插件的方式
const fileName = '文件'const blob = new Blob([res.data]{type: 'application/zip'});
const a = document .createElement('a')const bUrl = window.URL.createObject URL(blob);
a.download = fileName;
a.href = bUrl;
document.body.appendChild(a);
a.click()
document .body.removechild(a);

请求头都是bold类型
// responseType 表示服务器响应的数据类型,可以是 ‘arraybuffer’, ‘blob’, ‘document’, ‘json’, ‘text’, ‘stream’
在导出的时候,需要将数据类型responseType 设为arraybuffer 或者blob

精彩评论(0)

0 0 举报