您的位置:首页 > 娱乐 > 八卦 > vue3下载base64文件

vue3下载base64文件

2024/10/6 14:31:03 来源:https://blog.csdn.net/qq_46131497/article/details/140373870  浏览:    关键词:vue3下载base64文件

如果后端明确告诉你返回的是base64,那请求头就不用带responseType: “blob”,和普通的接口一样发送就行

await materialsFile({ id: proxy.$route.query.id }).then((res) => {if (res) {// atob先解码base64数据const raw = window.atob(res.data);// 获取解码后的字符串长度const rawLength = raw.length;// 初始化一个 8 位无符号整型数组const uInt8Array = new Uint8Array(rawLength);// 将每个解码字符转换为unicode编码再存入数组中for (let i = 0; i < rawLength; ++i) {uInt8Array[i] = raw.charCodeAt(i);}const link = document.createElement("a");// 创建Blob对象, 固定写法let blob = new Blob([uInt8Array]);// 设置元素样式不可⻅link.style.display = "none";// 创建下载链接link.href = URL.createObjectURL(blob);// 获取⽂件名(后端应确保正确返回⽂件名)link.setAttribute("download",`${userForm.value.name}-${userForm.value.phone}.zip`);// 加⼊dom树document.body.appendChild(link);// ⼿动触发点击事件link.click();// 移除之前创建的元素document.body.removeChild(link);// 释放Blob对象window.URL.revokeObjectURL(link.href);}});

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com