zoukankan      html  css  js  c++  java
  • axios 文件下载代码 片段

    <script type="text/javascript">
                axios({
                    method:'post',
                    url: 'url',
                    // 最好qs.stringify,不然接口易报错400
                    data: {},
                    // blob类文件对象
                    responseType: 'blob'
                }).then(res => {
                    let blob = new Blob(res.data,{
                        // 若是excel的话 需要设置下面的type
                        type: 'application/vnd.ms-excel'
                    });
                    let link = document.createElement('a');
                    link.href = window.URL.createObjectURL(blob);
                    // 文件名
                    let filename = res.headers;
                    filename = filename['content-disposition'];
                    if (filename && filename.length > 0) {
                        filename = filename.split(';')[1].split('filename=')[1];
                    } else{
                        filename = '写死的名字.xlsx'
                    }
                    link.download = filename;
                    link.click()
                })
            </script>

     注意,想要获取headers中content-disposition的数据,服务端要加一个:

     context.Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition");
  • 相关阅读:
    洛谷 P1068 分数线划定
    LeetCode 7. Reverse Integer
    LeetCode 504. Base 7
    洛谷 P1598 垂直柱状图
    用户场景
    个人博客03
    个人博客02
    个人博客01
    《构建之法》阅读笔记03
    学习进度条(第四周)
  • 原文地址:https://www.cnblogs.com/mengfangui/p/11452053.html
Copyright © 2011-2022 走看看