axios post请求下载文件流(post下载文件)


post 请求文件流

  1. axiot.post(url, data, {
  2. params: {},
  3. headers: {
  4. token: request.getToken(),
  5. },
  6. responseType: 'blob', // 切记类型 blob
  7. }).then((res) => {
  8. // console.log(res);
  9. const fileName = res.headers["content-disposition"].match(/filename\*?=['"]?(?:UTF-\d['"]*)?([^;\r\n"']*)['"]?;?/)[1]
  10. let blob = new Blob([res.data]);
  11. let url = window.URL.createObjectURL(blob); // 创建 url 并指向 blob
  12. let a = document.createElement('a');
  13. a.href = url;
  14. a.download = fileName;
  15. a.click();
  16. window.URL.revokeObjectURL(url); // 释放该 url
  17. }).catch((err) => {
  18. console.log(err);
  19. });

get 请求文件流

  1. axios.get('/url/xxx', { params, responseType: 'blob' })

BLOG

搜索文章