vue3请求设置responseType: ‘blob‘,导致失败后获取不到返回信息

vue3请求设置responseType: ‘blob’,导致失败后获取不到返回信息
使用FileReader解决

		dataCollect()
			.downloadAll(data)
			.then((res: any) => {
				if (res.type === 'application/json') {
					const fileReader = new FileReader();
					fileReader.readAsText(new Blob([res], { type: 'application/octet-stream' }), 'utf-8');
					fileReader.onload = () => {
						const result = JSON.parse(fileReader.result);

						ElMessage.error(result.msg);
					};
					return;
				}
				// console.log('下载全部', res);
				let blob = new Blob([res], {
					type: 'application/zip', //文件类型
				});
				let eLink = document.createElement('a');
				eLink.download = `${fileName}.zip`;
				eLink.style.display = 'none';
				eLink.href = URL.createObjectURL(blob);
				document.body.appendChild(eLink);
				eLink.click();

				document.body.removeChild(eLink);
				URL.revokeObjectURL(eLink.href);
			})
			.finally(() => {
				loading.value = false;
			});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值