微信小程序保存二维码的过程

1.使用wx.canvasToTempFilePath将二维码绘制到画布上。

复制代码
const ctx = wx.createCanvasContext('qrcodeCanvas');
ctx.drawImage('qrcodePath', 0, 0, canvasWidth, canvasHeight);
ctx.draw(false, () => {
  wx.canvasToTempFilePath({
    x: 0,
    y: 0,
    width: canvasWidth,
    height: canvasHeight,
    destWidth: canvasWidth,
    destHeight: canvasHeight,
    canvasId: 'qrcodeCanvas',
    success: (res) => {
      const tempFilePath = res.tempFilePath;
      // 接下来进行保存操作
    },
    fail: (err) => {
      console.error('canvasToTempFilePath failed', err);
    }
  });
});

2.利用wx.saveImageToPhotosAlbum保存绘制的二维码图片到相册。

复制代码
wx.saveImageToPhotosAlbum({
  filePath: tempFilePath,
  success: (res) => {
    console.log('saveImageToPhotosAlbum success', res);
    wx.showToast({
      title: '保存成功',
      icon: 'success',
      duration: 2000
    });
  },
  fail: (err) => {
    console.error('saveImageToPhotosAlbum failed', err);
    wx.showToast({
      title: '保存失败',
      icon: 'none',
      duration: 2000
    });
  }
});

需要注意的是,保存图片到相册需要用户授权,因此在调用wx.saveImageToPhotosAlbum之前,开发者需要先调用wx.getSetting获取用户的授权状态,并在用户同意授权后才能执行保存操作。

3.另外,在小程序的app.json文件中,需要添加相应的权限声明:

复制代码
{
  "permission": {
    "scope.userLocation": {
      "desc": "保存图片到相册"
    }
  }
}
相关推荐
Frag0ut12 小时前
Notepad++ 正则表达式完全手册:文本处理的终极武器(2026实战版)
正则表达式·notepad++·数据清洗·日志分析·正则替换·提取ip·正则表达式实战
极限挑战哥1 天前
共享电单车联营平台分账架构实践:二清合规与自动分账零人工方案
java·大数据·人工智能·微信小程序·架构·微信公众平台
超级新零售1 天前
服装订货会数字化:商品版本、订单状态与后续配发数据如何衔接?
大数据·小程序·企业微信
Frag0ut1 天前
Notepad++ 零基础入门:从记事本到代码编辑器的平滑过渡(2026最新版)
python·编辑器·html·json·notepad++·markdown·记事本
云-缩影1 天前
拆解微信小程序后端架构:ECS、RDS、SSL 和 VPC 怎么配合
微信小程序·架构·ssl
拖孩1 天前
AI 帮我写的小程序上线 44 天:36 个人进了收银台,8 个人付钱
前端·后端·微信小程序
xiezhr2 天前
我用workBuddy开发了自己的第一个小程序并成功上线了
ai·小程序·ai agent·workbuddy
sinat_267611912 天前
用 AI 开发微信小程序(八):一个极简收纳工具的开发复盘
微信小程序·小程序
李纲明2 天前
微信小程序真机预览白屏或 request 失败:先核 request 合法域名与 TLS,再查体验版与本地缓存
缓存·微信小程序·小程序·小程序开发·devdiy·真机预览·合法域名