ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vue之全局封装下载zip的方法

2021-11-10 14:31:03  阅读:185  来源: 互联网

标签:vue elink zip filename params blob 封装 const


	// 下载zip
	downloadFile(method = 'get', url, params, filename, baseURL = baseUrl,) {

		return new Promise((resolve, reject) => {
			axios({
				method,
				url: url,
				baseURL,
				filename:filename,
				[method == 'get' ? 'params' : 'data']: params,
				responseType: 'blob',
				headers: {
					'Content-Type': 'application/json'
				}
			}).then(res => {
				resolve();
				const blob = new Blob([res.data], { type: "application/zip" });
				const date = new Date();
				// console.log(params);
				//         let fileName ='报表数据.zip'
				const ua = navigator.userAgent.toLowerCase();
				if (/(ie|edge)/.test(ua) || "ActiveXObject" in window)
					navigator.msSaveBlob(blob, filename);
					// console.log(1)
				else {
					console.log(2)
					const fileName = filename;
					const elink = document.createElement('a');
					elink.download = fileName;
					elink.href = URL.createObjectURL(blob);
					document.body.appendChild(elink);
					elink.click();
					URL.revokeObjectURL(elink.href); // 释放URL 对象
					document.body.removeChild(elink);
				}

			}, err => {
				reject(err);
			})
		})
	}

标签:vue,elink,zip,filename,params,blob,封装,const
来源: https://blog.csdn.net/tangshiqing0304/article/details/121247723

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有