vue3图片下载

复制代码
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);

}
相关推荐
Mapmost15 小时前
数字孪生项目效率翻倍!AI技术实测与场景验证实录
前端
小酒星小杜15 小时前
在AI时代,技术人应该每天都要花两小时来构建一个自身的构建系统-Input篇
前端·程序员·架构
好大哥呀15 小时前
C++ IDE
开发语言·c++·ide
Cache技术分享15 小时前
290. Java Stream API - 从文本文件的行创建 Stream
前端·后端
陈_杨15 小时前
前端成功转鸿蒙开发者真实案例,教大家如何开发鸿蒙APP--ArkTS 卡片开发完全指南
前端·harmonyos
BHXDML15 小时前
JVM 深度理解 —— 程序的底层运行逻辑
java·开发语言·jvm
小杨同学4915 小时前
C 语言实战:枚举类型实现数字转星期(输入 1~7 对应星期几)
前端·后端
陈_杨15 小时前
前端成功转鸿蒙开发者真实案例,教大家如何开发鸿蒙APP--ArkTS 卡片刷新机制
前端·harmonyos
Wang's Blog15 小时前
Nodejs-HardCore: 深入解析DBF文件之二进制文件处理指南
开发语言·nodejs
hoiii18715 小时前
基于LSB匹配的隐写术MATLAB实现程序
开发语言·matlab