微信小程序 保存图片

注: 此处使用的是小程序 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)
}
})
}
})
}

微信小程序 保存图片的更多相关文章

  1. 微信小程序保存图片功能实现

    小程序保存图片功能实现 wxml: <view class="previewImage" style="display:{{previewImage}}" ...

  2. 微信小程序保存图片到相册

    先来看小程序中的保存图片到相册的api wx.saveImageToPhotosAlbum({ filePath : "./test.png", //这个只是测试路径,没有效果 s ...

  3. 微信小程序保存图片的方法

    1.xhtml代码 长按保存: <view class="img" catchlongpress='baocun'></view> 2.Js代码 baocu ...

  4. 微信小程序学习记录(一)

    如何定义一个全局变量: 1,在根目录下app.js中添加 App({ globalData: { g_isPlayingMusic : false, g_currentMusicPostId :nul ...

  5. 微信小程序例子-保存图片到手机相册

    微信小程序例子-保存图片到手机相册 1.关键代码 1)WXML文件 2)JS文件 saveImgToPhotosAlbumTap: function(){ // 图片必须是 https 的 var I ...

  6. 微信小程序canvas生成并保存图片

    ---恢复内容开始--- 微信小程序canvas生成并保存图片,具体实现效果如下图     实现效果需要做以下几步工作 一.先获取用户屏幕大小,然后才能根据屏幕大小来定义canvas的大小 二.获取图 ...

  7. 微信小程序点击保存图片到本地相册——踩坑

    在微信小程序中要保存图片到本地相册,需要获取相册权限. 总之整个功能实现下来需要如下几个小程序的API:wx.getSetting,wx.authorize,wx.openSetting,wx.dow ...

  8. uniapp保存图片到本地(APP和微信小程序端)

    uniapp实现app端和微信小程序端图片保存到本地,其它平台未测过,原理类似. 微信小程序端主要是权限需要使用button的开放能力来反复调起,代码如下: 首先是条件编译两个平台的按钮组件: < ...

  9. 官方问答--微信小程序常见FAQ (17.8.21-17.8.27)

    给提问的开发者的建议:提问之前先查询 文档.通过社区右上角搜索搜索已经存在的问题. 写一个简明扼要的标题,并且正文描述清楚你的问题. 提交 BUG:需要带上基础库版本号,设备信息(iOS, Andro ...

随机推荐

  1. Linux学习(四)-Linux常用命令

    1.运行级别类 1.1运行级别说明: 0:关机 1:单用户[可用于找回丢失密码] 2:多用户状态没有网络服务 3:多用户状态有网络服务 4:系统未使用保留给用户 5:图形界面 6:系统重启 常用运行级 ...

  2. vue 项目文件流数据格式转blob图片预览展示

    为了图片安全性,有时候上传图片后后台不会直接返回图片地址,会返回文件流的数据格式,这种格式需要处理下才能展示在页面上   // 使用axios请求上传接口 axios({ method: 'get', ...

  3. 修正Calendar的Bug

    procedure TAndroidNativeCalendarListener.onSelectedDayChange(view: JCalendarView; year, month, dayOf ...

  4. IntelliJ IDEA + Maven iml文件中依赖项的需求是什么?

    在Maven中,项目的依赖关系在pom.xml文件中指定.在IntelliJ IDEA中,即使对于Maven项目,相同的信息也存储在iml文件中.在两个地方有相同的信息需要什么? 当导入Maven项目 ...

  5. 使用Tarjan进行缩点(有向图)

    int From[maxn], Laxt[maxn], To[maxn << 2], Next[maxn << 2], cnt; int low[maxn], dfn[maxn ...

  6. git 获得当前分支名及其对应的远程分支

    git 获得当前分支名及其对应的远程分支 git symbolic-ref -q --short HEADgit rev-parse --abbrev-ref --symbolic-full-name ...

  7. NMI是什么

    NMI是什么 2016/02/28 vmunix NMI(non-maskable interrupt),就是不可屏蔽的中断.根据Intel的Software Developer手册Volume 3, ...

  8. win10 LTSC 2019 激活

    win 10 打开终端 1.slmgr -ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D 2.slmgr -skms kms.03k.org 3.slmgr -ato 4. slm ...

  9. Java8-Stream-No.11

    import java.util.Arrays; import java.util.List; public class Streams11 { static class Person { Strin ...

  10. ACM-ICPC 2018 南京赛区网络预赛 K. The Great Nim Game(博弈)

    题目链接:https://nanti.jisuanke.com/t/31000 题意:有N堆石子(N为大数),每堆的个数按一定方式生成,问先手取若干堆进行尼姆博弈,必胜的方式有多少种. 题解:因为 k ...