const handleDownload = () => {
const imgUrl1 ="https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg";
fetch(imgUrl1)
.then(response => response.blob())
.then(blob => {
// 创建一个Blob URL
const url = URL.createObjectURL(blob);
// 创建一个a标签用于下载
const a = document.createElement('a');
a.style.display = 'none';
a.href = url;
// 设置下载的文件名,这里假设是"avatar.jpeg"
a.download = `证书.png`;
document.body.appendChild(a);
a.click();
// 释放Blob URL
URL.revokeObjectURL(url);
// 清理a标签
document.body.removeChild(a);
})
.catch(error => console.error('下载失败:', error));
// const base64String = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD..."; // 示例Base64字符串
//
// // 提取Base64编码部分
// const byteString = atob(base64String.split(',')[1]);
//
// // 创建一个Blob对象
// const ab = new ArrayBuffer(byteString.length);
// const ia = new Uint8Array(ab);
// for (let i = 0; i < byteString.length; i++) {
// ia[i] = byteString.charCodeAt(i);
// }
//
// const blob = new Blob([ab], { type: 'image/jpeg' });
//
// // 创建一个a标签用于下载
// const a = document.createElement('a');
// a.style.display = 'none';
// a.href = URL.createObjectURL(blob);
// a.download = 'image.jpeg'; // 设置下载的文件名
// document.body.appendChild(a);
// a.click();
//
// // 释放Blob URL
// URL.revokeObjectURL(a.href);
//
// // 清理a标签
// document.body.removeChild(a);
}
vue3图片下载
qq_459131702024-09-05 22:38
相关推荐
一只码代码的章鱼19 分钟前
Spring的 @Validate注解详细分析邹诗钰-电子信息工程22 分钟前
嵌入式自学第二十一天(5.14)zimoyin39 分钟前
Kotlin 协程实战:实现异步值加载委托,对值进行异步懒初始化恋猫de小郭43 分钟前
如何查看项目是否支持最新 Android 16K Page Size 一文汇总赵大仁1 小时前
React Native 与 Expo于壮士hoho1 小时前
Python | Dashboard制作程序员与背包客_CoderZ2 小时前
Node.js异步编程——Callback回调函数实现Asus.Blogs2 小时前
为什么go语言中返回的指针类型,不需要用*取值(解引用),就可以直接赋值呢?青瓦梦滋2 小时前
【语法】C++的多态C_V_Better3 小时前
Java Spring Boot 控制器中处理用户数据详解