阅读 105

axios --- post请求json格式参数实现下载功能

首先在项目里install axios,然后设置axios默认条件,再挂载到vue 上 这样可以全局引用。这里直接具象描述怎么在页面里使用:

代码如下:

 this.$axios({
                    url: ‘/dlServiceOrder/download‘,
                    data: params,
                    method: "post",
                    contentType: "application/json;charset=utf-8",
                    responseType: "blob",
                }).then(res=>{
                download(res.data,‘要导出的文件名‘+formatDate(new Date())+‘.xlsx‘)
            })

download方法为引入的公共方法如下:

export function download (data,titName) {
    if(!data){
        return
    }
    const blob = new Blob([data],{type: "application/vnd.ms-excel"})
    const fileName = titName?titName: ‘导入模板.xls‘
    if (‘download‘ in document.createElement(‘a‘)) { // 非IE下载
        const elink = document.createElement(‘a‘)
        elink.download = fileName
        elink.style.display = ‘none‘
        elink.href = URL.createObjectURL(blob)
        document.body.appendChild(elink)
        elink.click()
        URL.revokeObjectURL(elink.href) // 释放URL 对象
        document.body.removeChild(elink)
    } else { // IE10+下载
        navigator.msSaveBlob(blob, fileName)
        navigator.msSaveBlob(blob)
    }
}

以上即可,我这里axios 封装具体参考我另一篇。

 

原文:https://www.cnblogs.com/zhu-xl/p/14923068.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐