技术标签: 二维码图片转base64 uni-app
断断续续的搞了两次,终于把这个功能实现了。
1.二维码的插件
2.转base64格式的工具(图像转换工具,可用于图像和base64的转换)
3.uniapp安装
// 以下路径需根据项目实际情况填写
import { pathToBase64, base64ToPath } from '../../js/image-tools/index.js'
4.pathToBase64
从图像路径转换为base64,uni-app、微信小程序和5+APP使用的路径不支持网络路径,如果是网络路径需要先使用下载API下载下来。
pathToBase64(path)
.then(base64 => {
console.log(base64)
})
.catch(error => {
console.error(error)
})
5.base64ToPath
将图像base64保存为文件,返回文件路径。
base64ToPath(base64)
.then(path => {
console.log(path)
})
.catch(error => {
console.error(error)
})
6.可以利用promise来串行和并行的执行多个任务
// 并行
Promise.all(paths.map(path => pathToBase64(path)))
.then(res => {
console.log(res)
// [base64, base64...]
})
.catch(error => {
console.error(error)
})
// 串行
paths.reduce((promise, path) => promise.then(res => pathToBase64(path).then(base64 => (res.push(base64), res))), Promise.resolve([]))
.then(res => {
console.log(res)
// [base64, base64...]
})
.catch(error => {
console.error(error)
})
7.我是将二维码的图片转成base64格式
methods: {
showfromchild(data图片的url){
var that=this;
pathToBase64(data)
.then(base64 => {
that.qrvalimg=base64;
})
.catch(error => {
console.error(error)
})
},
8.然后通过plus.nativeObj.Bitmap()这个函数分享base64格式的图片(代码有点low请见谅)
var bitmap = new plus.nativeObj.Bitmap();
bitmap.loadBase64Data(that.qrvalimg, function() {
bitmap.save("DCIM/a.jpg", {
overwrite: true
}, function(i) {
uni.hideLoading()
uni.share({
provider: "sinaweibo",
type: 0,
summary: '这是我的收款码',
imageUrl: i.target,
success: function(res) {
console.log("success:" + JSON.stringify(res));
},
fail: function(err) {
console.log("fail:" + JSON.stringify(err));
}
});
// console.log('保存图片成功:' + JSON.stringify(i));
}, function(e) {
console.log('保存图片失败:' + JSON.stringify(e));
});
}, function(e) {
console.log('绘制图片失败:' + JSON.stringify(e));
});
PCB投板的必要条件作者:AirCity [email protected] 本文所有权归作者Aircity所有原理图是否已fix,并且评审完毕,遗留问题风险是否不影响此次投板结构要素图是否已完成,主要是确定板框,确认堆叠是否有干涉。工程需求表单是否已完成,确认板厂,几层几阶,成本。SI/PI仿真报告是否已完成,遗留问题风险是否不影响此次投板。特别注意需要高通..._pcb走线评审完是不是可以投板了
不准使用rm题目:linux下面如何实现,当用户执行rm命令时,就显示“do not use rm command”。答案:# alias rm='echo "do not use rm command"'
最近在研究BLE蓝牙,顺便把官网上的UUID列表对应类型翻译了一下,水平一般(大多采用有道、谷歌翻译,外加自己的理解对翻译进行校正),仅做参考。如果有翻译不正确的地方还望指出。GATT服务:官网地址:https://www.bluetooth.com/specifications/gatt/services/名称中文释义统一类型ID分配的号码规范Generic Access通用访问org.bluetooth.service.generic_access0x1800GS_蓝牙uuid列表
线性代数狭义特征值问题 Ax = λx 广义特征值问题Ax = λBxλ为特征值,x为λ对应的特征向量在求解特征值时|A-λE|=0 转化为求解特征多项式的特征根高数特征根的概念在求解二阶常微分方程中也有二阶微分方程x'' + px' + qx = 0 对应的特征方程 r^2 + p*r + q = 0控制方程在控制方程中也有特征根二阶微分方程x'' + px' + qx = 0 经过拉氏变换 得到特征方程 s^2 + p*s+ q = 0特征方程就是传递函数..._线性代数特征根
一、问题在某个目录路径下创建文件夹及其子文件夹时,产生无法访问路径的错误或路径拒绝访问的错误。二、产生问题的原因程序在当前的目录下创建文件夹,对该目录的权限不够。三、解决方法修改该目录的everyone用户权限将权限提升至修改或完全控制。
parfor中的slice有特定的使用约束>> a=zeros(100,1);parfor ii = 1:50 a(2*ii)=1;end以上代码运行出错,信息如下:Error: Unable to classify the variable 'a' in the body of the parfor-loop. For more information, see Parallel for Loops in MATLAB, "Solve Variable Classi.
前言:生活中我们会面临很多选择,我们会在人生的大选择上深思熟虑,也会在一些芝麻蒜皮的小选择上纠结万分,为了帮助选择困难户在日常的小纠结中做出选择,我们将摇骰子这个经典的小游戏(也可以说是一个小工具)移植到华为手表上,”不知道今天是吃鸡肉还是牛肉?摇个骰子吧!”。这是我们最初制作它的想法,当然它也还有其他用处,比如说随机分组(例如:点数为奇数的一组,点数为偶数的一组)。小组成员likaijie12138JiaYi__xixiwx13415801099GTH1144754040最终效果图:
题目大意:给出的东西要求建立一个堆,使得后面的数字满足堆的性质,而且字符串满足搜索序思路分析:用线段树的最大询问建树。在建树之前先排序,然后用中序遍历递归输出。注意输入的时候的技巧。。。#include #include #include #include #define lson num<<1,s,mid#define rson num<<1|1,m_poj 1785
文章目录知识点讲解具体实现一、业务流程知识点讲解传统的单体应用体系下,应用是一个整体,一般针对所有的请求都会进行权限校验。请求一般会通过一个权限的拦截器进行权限的校验,在登录时将用户信息缓存到 session 中,后续访问则从缓存中获取用户信息但在微服务架构下,一个应用会被拆分成若干个微应用,每个微应用都需要对访问进行鉴权,每个微应用都需要明确当前访问用户以及其权限。尤其当访问来源不只是浏览...
本经验以卸载Ubuntu下的办公软件libreoffice为例子,演示怎样使用dpkg进行卸载软件。查看安装的软件1、查看dpkg的帮助。选择 dpkg -l来查看软件的状态。选择 dpkg -P来卸载软件。因为dpkg --remove只是删除安装的文件,但不删除配置文件。而dpkg --purge则安装文件和配置文件都删除。2、先列举出libreoffice相关的软件,看哪些是已经安装的。命令..._dpkg卸载软件
mod_commandshttps://freeswitch.org/confluence/display/FREESWITCH/mod_commandsFreeSwitch控制台常用命令(来自freeswitch中文wiki) 挺有用http://blog.csdn.net/u014260745/article/details/21980583Free_freeswitch application
The 16th Heilongjiang Provincial Collegiate Programming Contest#include<bits/stdc++.h>#include <unordered_map>using namespace std;template<class...Args>void debug(Args... args) {//Parameter pack auto tmp = { (cout << args &_you are given a sequence consisting of n integers { } {a i }.