uniapp——实现base64格式二维码图片生成+保存二维码图片——基础积累

最近在做二维码推广功能,自从2020年下半年到今天,大概有三年没有用过uniapp了,而且我之前用uniapp开发的程序还比较少,因此很多功能都浪费了很多时间去查资料,现在把功能记录一下。

这里写目录标题

效果图

下面介绍一下整体流程:

上篇文章是讲的是将图片链接内容通过qrcode组件生成二维码,但是,就刚刚,我才知道后端返给我的是base64位的图片内容。。。。。。

1.base64生成图片二维码------image组件

js 复制代码
<image style="width:300rpx;" mode="widthFix" src="data:image/png;base64,二进制" ></image>

2.长按保存------longtap

js 复制代码
<image @longtap="longtap" style="width:300rpx;" mode="widthFix" src="data:image/png;base64,二进制" ></image>
2.1 h5的保存功能
js 复制代码
longtap(){
	// #ifdef H5
	var oA = document.createElement("a");
	oA.download = '图片名称.png'; // 设置下载的文件名,默认是'下载'
	oA.href = "data:image/png;base64,二进制";    //图片url
	document.body.appendChild(oA);
	oA.click();
	oA.remove(); // 下载之后把创建的元素删除
	// #endif
},
2.2 app的保存功能
js 复制代码
// #ifdef APP-PLUS
let base64 = "data:image/png;base64,二进制";
 const bitmap = new plus.nativeObj.Bitmap("test");
 bitmap.loadBase64Data(base64, function() {
   const url = "_doc/" + new Date().getTime() + ".png";  // url为时间戳命名方式
   console.log('saveHeadImgFile', url)
   bitmap.save(url, {
       overwrite: true,  // 是否覆盖
       // quality: 'quality'  // 图片清晰度
   }, (i) => {
       uni.saveImageToPhotosAlbum({
           filePath: url,
           success: function() {
               uni.showToast({
                   title: '图片保存成功',
                   icon: 'success'
               })
               bitmap.clear()
           }
       });
   }, (e) => {
       uni.showToast({
           title: '图片保存失败',
           icon: 'none'
       })
       bitmap.clear()
   });
}, (e) => {
   uni.showToast({
       title: '图片保存失败',
       icon: 'none'
   })
   bitmap.clear()
});
// #endif
相关推荐
GDAL38 分钟前
HTML 中的 Canvas 样式设置全解
javascript
m0_5287238144 分钟前
HTML中,title和h1标签的区别是什么?
前端·html
Dark_programmer44 分钟前
html - - - - - modal弹窗出现时,页面怎么能限制滚动
前端·html
GDAL1 小时前
HTML Canvas clip 深入全面讲解
前端·javascript·canvas
禾苗种树1 小时前
在 Vue 3 中使用 ECharts 制作多 Y 轴折线图时,若希望 **Y 轴颜色自动匹配折线颜色**且无需手动干预,可以通过以下步骤实现:
前端·vue.js·echarts
GISer_Jing1 小时前
Javascript排序算法(冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序)详解
javascript·算法·排序算法
贵州数擎科技有限公司1 小时前
使用 Three.js 实现流光特效
前端·webgl
JustHappy1 小时前
「我们一起做组件库🌻」做个面包屑🥖,Vue的依赖注入实战💉(VersakitUI开发实录)
前端·javascript·github
拉不动的猪2 小时前
刷刷题16
前端·javascript·面试
kiramario2 小时前
【结束】JS如何不通过input的onInputFileChange使用本地mp4文件并播放,nextjs下放入public文件的视频用video标签无法打开
开发语言·javascript·音视频