vue-axios 下载 zip文件包


axios({
                method: 'get',
                url: '/api/group/export',
                params: data,
                headers: {
                    Authentication: localStorage.getItem('token'),
                    Accept: 'application/json'
                },
                responseType: 'blob'
            }).then(response => {
                let data = response.data;
                let fileReader = new FileReader();
                fileReader.onload = function() {
                    try {
                        let jsonData = JSON.parse(this.result);  // 说明是普通对象数据,后台转换失败
                    if (jsonData.code) {
                        that.$message.error(jsonData.message)
                    }
                    } catch (err) {   // 解析成对象失败,说明是正常的文件流
                        const blob = new Blob([response.data], {type: 'application/zip'});
                        const filename = response.headers['content-disposition'];
                        const downloadElement = document.createElement('a');
                        const href = window.URL.createObjectURL(blob); //创建下载的链接
                        downloadElement.href = href;
                        [downloadElement.download] = [filename.split('=')[1]];
                        document.body.appendChild(downloadElement);
                        downloadElement.click(); //点击下载
                        document.body.removeChild(downloadElement); //下载完成移除元素
                        window.URL.revokeObjectURL(href); //释放blob对
                    } 
                };
                fileReader.readAsText(data) 
            }).catch((error) => {

            })

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM