- 插件方式
插件地址
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);
});
}
- 还有一种非插件的方式
const fileName = '文件';
const blob = new Blob([res.data],{type: 'application/zip'});
const a = document .createElement('a') ;
const bUrl = window.URL.createObjectURL(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