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

news/2024/7/20 3:21:09 标签: 微信小程序, notepad++, 小程序

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": "保存图片到相册"
    }
  }
}


http://www.niftyadmin.cn/n/5237686.html

相关文章

MySQL-宋红康-(课P14-P15)-基本查询语句(Select)

b站视频: 14-最基本的SELECT...FROM结构_哔哩哔哩_bilibili 8.4 基本查询(Select)语句 数据table: emp员工表创建如下 # 员工表 CREATE TABLE EMP (EMPNO INT PRIMARY KEY, -- 员工编号ENAME VARCHAR(10), -- 员工名称JOB VARCHAR(9), -- 工…

MYSQL练题笔记-聚合函数-即时食物配送

我做完上一道题,决定总结一下了,因为现在还是没有一个我认为好的思路去构造语句,这里开始试一试新的思路。果然想要好一点的时候,总是像便秘一下,真的想拉,但是真的难拉啊 一、题目相关内容 1&#xff09…

Linux-实现没有血缘关系的进程之间的通信

目录 一.makefile的编写 二.comm.hpp头文件的编写 三.serve.cc文件的编写 四.client.cc文件的编写 一.makefile的编写 .PHONY:all all:serve clientserve : serve.ccg -o $ $^ -g -stdc11 client : client.ccg -o $ $^ -g -stdc11.PHONY:clean clean:rm -r…

UI咨询公司-蓝蓝设计:顶级秘籍:提升UI设计吸引力的3大绝招

想要让你的UI设计在海量应用中脱颖而出,吸引用户眼球吗?如果你正在寻找提升UI设计吸引力的绝妙方法,那么你绝对不能错过本文!我们将为你揭示顶级UI设计师都不会告诉你的3大绝招,让你轻松掌握提升UI设计吸引力的关键技巧…

leetcode-160-相交链表(C语言实现)

题目: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,…

webview2 runtime 安装错误 0x800700b7

最简单的一种是删除C:\Program Files (x86)\Microsoft文件夹,一般情况下,这个文件夹是空的,但在系统目录下,不允许删除,可以选中获取下管理员权限,或是用第三方软件,直接强制删除。 删除之后就…

Jupyter NoteBook未授权访问漏洞

任务一: 复现未授权访问的漏洞 任务二: 利用Jupter Notebook控制台执行系统命令,读取/etc/passwd内容 1.搭建环境 2.new下面直接进入终端,而且也不需要登录,我就直接进入了管理界面 3.直接把指令输入进入&#xf…

idea类和方法模版

类模版 修改目标位置 class #if (${PACKAGE_NAME} && ${PACKAGE_NAME} ! "")package ${PACKAGE_NAME};#end #parse("File Header.java")/*** ${Description}* author whc ${YEAR}/${MONTH}/${DAY}* version v1.0 */public class ${NAME} { }inte…