上传与下载

上传

上传我借鉴的是ant-design的组件进行上传的,具体源代码还没有参考,这块留起来后续补充。

ant-design组件

Upload组件

源码解析

后续补充

下载

下载我是参考了这边文章,因为下载时返回的数据是一串乱码,所以就借鉴了这边文章缩写的,需要在axios中加入responseTtpe: 'arraybuffer',然后用了blob,具体代码如下:

axios.post(url, {...params}, {
  header: {
    // 这里是header设置
  },
  responseType: 'arraybuffer'
}).then((res) => {
  let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'});
  let objectUrl = URL.createObjectUrl(blob);
  window.location.href = objectUrl;
}).catch((err) => {})

注:这里必须引用responseTtpe: 'arraybuffer',不然的话还是会是乱码