微信小程序 保存图片
微信小程序 保存图片
注: 此处使用的是小程序 wepy框架, 原生或其他的请注意转换写法
<div class="handle">
<button class="btn" open-type="{{saveset}}" @tap="bindSave">
<img src="@/images/icon_download_white.png" alt="" mode="widthFix" />保存二维码
</button>
<button class="btn" open-type="share"><img src="@/images/icon_share_white.png" alt="" mode="widthFix" />分享给好友</button>
</div>
// 保存图片
bindSave(e) {
console.log(e)
let that = this;
wx.getSetting({//检查小程序的授权状态
success(res) {
console.log(res)//授权后的回调
if (!res.authSetting['scope.writePhotosAlbum']) {
wx.authorize({//调用 wx.authorize 弹出对话窗提醒用户是否要授权小程序得到他的授权
scope: 'scope.writePhotosAlbum',
success(t) {//这里是用户同意授权后的回调
console.log("这里是用户同意授权后的回调", t)
that.saveset = "";
that.getImage();
},
fail(err) {//这里是用户拒绝授权后的回调
console.log("这里是用户拒绝授权后的回调", err);
that.saveset = "openSetting";
if (err.errMsg == "authorize:fail:auth deny") {//如果用户拒绝打开授权接口,通过button按钮的open-type="openSetting"属性来调起授权窗口
console.log("打开设置窗口");
if (that.data.saveset == "openSetting"){
console.log("第二次进来",that.data.opensett);
wx.openSetting({
success(settingdata) {
console.log(settingdata)
if (settingdata.authSetting["scope.writePhotosAlbum"]) {
console.log("获取权限成功,再次点击图片保存到相册")
that.setData({
saveset: ""
});
} else {
console.log("获取权限失败")
}
}
});
}
}
}
})
} else {//用户已经授权过了
console.log("用户已经授权过了")
that.saveset = "";
that.getImage();
}
}
})
},
getImage(){
wx.downloadFile({
url: 'https://xcx.rejoint.com.cn/uploads/avatar/201908/29/BwCOi6fRPzsD6ZX5LstG7FPdwqHC9u8UOH90UCew.png', //测试图片
success: function (res) {
console.log(res);
//图片保存到本地
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function (data) {
console.log("保存到相册", data);
wx.showToast({
title: '保存成功',
icon: "none"
})
},
fail: function (err) {
console.log(err)
}
})
}
})
}
微信小程序 保存图片的更多相关文章
- 微信小程序保存图片功能实现
小程序保存图片功能实现 wxml: <view class="previewImage" style="display:{{previewImage}}" ...
- 微信小程序保存图片到相册
先来看小程序中的保存图片到相册的api wx.saveImageToPhotosAlbum({ filePath : "./test.png", //这个只是测试路径,没有效果 s ...
- 微信小程序保存图片的方法
1.xhtml代码 长按保存: <view class="img" catchlongpress='baocun'></view> 2.Js代码 baocu ...
- 微信小程序学习记录(一)
如何定义一个全局变量: 1,在根目录下app.js中添加 App({ globalData: { g_isPlayingMusic : false, g_currentMusicPostId :nul ...
- 微信小程序例子-保存图片到手机相册
微信小程序例子-保存图片到手机相册 1.关键代码 1)WXML文件 2)JS文件 saveImgToPhotosAlbumTap: function(){ // 图片必须是 https 的 var I ...
- 微信小程序canvas生成并保存图片
---恢复内容开始--- 微信小程序canvas生成并保存图片,具体实现效果如下图 实现效果需要做以下几步工作 一.先获取用户屏幕大小,然后才能根据屏幕大小来定义canvas的大小 二.获取图 ...
- 微信小程序点击保存图片到本地相册——踩坑
在微信小程序中要保存图片到本地相册,需要获取相册权限. 总之整个功能实现下来需要如下几个小程序的API:wx.getSetting,wx.authorize,wx.openSetting,wx.dow ...
- uniapp保存图片到本地(APP和微信小程序端)
uniapp实现app端和微信小程序端图片保存到本地,其它平台未测过,原理类似. 微信小程序端主要是权限需要使用button的开放能力来反复调起,代码如下: 首先是条件编译两个平台的按钮组件: < ...
- 官方问答--微信小程序常见FAQ (17.8.21-17.8.27)
给提问的开发者的建议:提问之前先查询 文档.通过社区右上角搜索搜索已经存在的问题. 写一个简明扼要的标题,并且正文描述清楚你的问题. 提交 BUG:需要带上基础库版本号,设备信息(iOS, Andro ...
随机推荐
- 关于SpringBoot的自动配置和启动过程
一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率 ...
- vue学习(10)-vue-resource
下载:cnpm i vue-resource --save 在main.js导入包:import VueResource from 'vue-resource' 安装:Vue.use(VueResou ...
- 4.SpringMVC 配置式开发-处理器映射器
处理器映射器 HandlerMapping HandlerMapping 接口负责根据request请求找到对应的Handler处理器及Interceptor拦截器, 并将它们封装在HandlerEx ...
- 基于docker搭建elasticsearch集群
es集群的搭建 - 基于单机搭建elasticsearch集群见官网 https://www.elastic.co/guide/en/elasticsearch/reference/current/d ...
- Django项目实战—分页
自定义分页 未封装版: 优点:直观 缺点:代码乱,不易维护,可拓展性差 data = [] for i in range(1, 302): tmp = {"id": i, &quo ...
- winfrom 自动关闭 重新MessageBox.Show("Test");
复制代码 自动关闭 调用 AutoClosingMessageBox.Show("添加失败", "提示", 1000); #region alert p ...
- easyUI 布局
Layout(布局) 布局容器有5个区域:北.南.东.西和中间.中间区域面板是必须的,边缘的面板都是可选的. 每个边缘区域面板都可以通过拖拽其边框改变大小,也可以点击折叠按钮将面板折叠起来.布局可以进 ...
- JavaScript中定义类的方式详解
本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的exte ...
- kettle 数据抽取时会出现 无法插入NULL
kettle 数据抽取时会出现 无法插入NULL,其实是空字符串,原因是kettle默认不区分空字符串和NULL. 解决办法: 修改kettle.properties 文件:
- STMStudio-stm32软件的应用笔记
上次编写中,已经提到该软件的功能了,可以增加调试手段. 编译出axf文件-keil和out文件-iar,注意keil在output文件名是,不能有"."既NL_ZKTP3_V1.0 ...