qq_36846723 2023-06-25 10:51 采纳率: 0%
浏览 115
已结题

移动端下载图片到手机相册

移动端使用html2canvas截图并下载,已经获取到base64,如何在移动端(安卓、IOS)下载图片呢?(我使用的a标签download在本地可以下载,但是手机上不行)

  • 写回答

15条回答 默认 最新

  • 白驹_过隙 算法领域新星创作者 2023-06-25 10:58
    关注
    获得1.00元问题酬金

    base64图片转文件并下载

     base64ImgtoFile(dataurl, filename = '文件名' + Date.now()) {
          // 将base64格式分割:['data:image/png;base64','XXXX']
          const arr = dataurl.split(',');
          // .*? 表示匹配任意字符到下一个符合条件的字符 刚好匹配到:
          // image/png
          const mime = arr[0].match(/:(.*?);/)[1]; // image/png
          // [image,png] 获取图片类型后缀
          const suffix = mime.split('/')[1]; // png
          const bstr = atob(arr[1]); // atob() 方法用于解码使用 base-64 编码的字符串
          let n = bstr.length;
          const u8arr = new Uint8Array(n);
          while (n--) {
            u8arr[n] = bstr.charCodeAt(n);
          }
          return new File([u8arr], `${filename}.${suffix}`, {
            type: mime,
          });
        },
    
    
    

    参考

    评论

报告相同问题?

问题事件

  • 系统已结题 7月3日
  • 赞助了问题酬金20元 6月25日
  • 创建了问题 6月25日

悬赏问题

  • ¥15 什么设备可以研究OFDM的60GHz毫米波信道模型
  • ¥15 不知道是该怎么引用多个函数片段
  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题