前言

图片保存到手机相册的功能相信大家一定都用过吧,今天教你用微信小程序实现这个好玩的小功能。

实现效果如下:

实现思路:

首先我们需要调用 wx.downloadFile 方法下载文件资源到本地,然后利用 wx.saveImageToPhotosAlbum 方法保存图片到系统相册,需要注意的是这样写很可能会因为没有权限而导致下载不了图片,所以我们最后还需要给接口一个调用失败的回调函数,以此来获取权限,最后这个小功能就实现啦。

源码如下:

wxml文件

<!-- 按钮触发事件 -->
<button bindtap="downloadImg">点击下载图片</button>

js文件

const app = getApp(); //获取app实例
Page({data: {modalType: false, //弹框默认不显示imgUrl: "https://s1.ax1x.com/2022/04/11/LV4c4J.jpg", //模拟图片},// 点击下载图片事件downloadImg() {wx.showLoading({title: '加载中...'});//wx.downloadFile方法:下载文件资源到本地wx.downloadFile({url: this.data.imgUrl, //图片地址success: function (res) {//wx.saveImageToPhotosAlbum方法:保存图片到系统相册wx.saveImageToPhotosAlbum({filePath: res.tempFilePath, //图片文件路径success: function (data) {wx.hideLoading(); //隐藏 loading 提示框wx.showModal({title: '提示',content: '保存成功',modalType: false,})},// 接口调用失败的回调函数fail: function (err) {if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg === "saveImageToPhotosAlbum:fail authorize no response") {wx.showModal({title: '提示',content: '需要您授权保存相册',modalType: false,success: modalSuccess => {wx.openSetting({success(settingdata) {console.log("settingdata", settingdata)if (settingdata.authSetting['scope.writePhotosAlbum']) {wx.showModal({title: '提示',content: '获取权限成功,再次点击图片即可保存',modalType: false,})} else {wx.showModal({title: '提示',content: '获取权限失败,将无法保存到相册哦~',modalType: false,})}},fail(failData) {console.log("failData", failData)},complete(finishData) {console.log("finishData", finishData)}})}})}},complete(res) {wx.hideLoading(); //隐藏 loading 提示框}})}})}
})

有关于微信小程序如何实现图片预览,大家可移步博主另一篇文章(微信小程序实现图片预览)

微信小程序实现将图片保存到手机相册相关推荐

  1. 微信小程序Canvas绘制主页保存到手机相册

    本篇文章适用于保存用户主页.海报等至手机相册,内容包含圆角头像.文字超出显示省略号.多行超出显示省略号!(整体代码放入最下方可直接复制查看) 话不多说上图 页面如下 保存相册之后如下 整体分三部分来讲 ...

  2. 小程序canvas生成海报保存至手机相册

    小程序canvas画图保存至手机相册 (1)可直接展示生成的海报 .因手机分辨率不同可能导致生成的海报会有细微差别,这里隐藏canvas海报,页面正常设置海报样式保存时保存隐藏的canvas海报 (2 ...

  3. 微信小程序点击图片保存到相册

    小程序实现点击图片保存到相册 温馨提示:小程序图片在本地保存成功后放到线上失效,应该是没有设置合法的文件下载域名 // 下载事件函数bindImage: function (e) {var url = ...

  4. 微信小程序长按图片保存至相册

    效果图: 描述: 「长按图片」,是否授权保存图片or视频到相册,「授权成功」,点击「保存到相册」即可完成. 代码: wxml <image src="{{imgSrc}}" ...

  5. 微信小程序-长按图片保存到相册

    首页需要通过 wx.getSetting 先查询一下用户是否授权了写入相册权限: 其次对于网络图片,可调用wx.downloadFile下载文件资源到本地: 然后非网络图片,可以调用wx.getIma ...

  6. 用canvas绘制微信小程序海报页面并保存相册-适用微信原生

    微信小程序绘制海报并保存相册 tip:代码中使用的是uni的api 如果使用原生微信小程序开发,可以把uni更换成wx使用 文章目录 微信小程序绘制海报并保存相册 前言 一.分析需求 二.准备数据 三 ...

  7. android可拖拽九宫格,微信小程序实现九宫格图片拖拽

    (在真机上的效果就不演示了,是差不多的) 实现思路 布局 在这里运用到了微信小程序的moveable-area和moveable-view两个标签. moveable-area是可拖拽的区域,需要设置 ...

  8. 微信小程序canvas画图,保存页面为海报

    目录 思路 wxml与wxss 绘制相关js 宽高设置 点击按钮后开始绘制 绘制函数 echarts图表临时文件路径获取 保存至相册相关js 用户点击保存图片按钮 判断是否授权保存到相册 保存至相册, ...

  9. 微信小程序内拖动图片实现移动、放大、旋转

    最近接到一个任务,在微信小程序内拖动图片组件实现移动.放大.旋转,并记录这些图片的移动位置,放大比例,旋转角度,在一个画布上生成一张图片,最后保存到手机相册. 我的具体实现思路是这样的:(文章底部留有 ...

  10. 微信小程序如何把图片上传至服务器

    微信小程序如何把图片上传至服务器 前些日子接了个任务就是开发一个小程序,遇到了一个问题就是需要图片上传至服务器并保存记录,遵循着解决思路我们先从最开始入手 1:微信上传接口 2:服务器接收接口 3:保 ...

最新文章

  1. 一些Python情结
  2. JAVA基础知识总结8(设计模式)
  3. 快速排序 动图_Java十大排序算法最强总结
  4. P2911 [USACO08OCT]Bovine Bones G (python3实现)
  5. JQuery data API实现代码分析
  6. CodeForeces 842d Vitya and Strange Lesson ——(带lazy标记的01字典树)
  7. win7 virtio 驱动下载
  8. Zcash — 完全隐匿货币流向
  9. git 某个文件回退到指定版本
  10. 德勤中国成长型AI企业研究报告:迈向巅峰之路
  11. 【矩阵论】线性空间与线性变换(3)(4)
  12. safari html5 自动全屏,IOS10全屏safari Javascript
  13. html表格日期选框,table单元格编辑新增下拉框(select支持单或多选)、时间选择(date)功能! · Pull Request !26 · 贤心/layui - Gitee.com...
  14. 计算机c盘中无法搜索文件格式,电脑C盘中programdata文件夹找不到该怎么办
  15. 大一微积分笔记整理_大一下总结
  16. 深度学习数学基础 熵?
  17. css3 图片阴影、翘边效果
  18. 获取网易云榜单列表100首音乐
  19. STM32F103系列的单片机定时器
  20. 软件设计师:07-法律法规与标准化与多媒体基础

热门文章

  1. ArcFace 论文阅读及 pytorch 实现
  2. 数字时钟word clock Mac设置教程
  3. 噪音分贝测试软件在线,分贝测试(在线分贝测试仪)
  4. Cisco ❀ QinQ技术与VXLAN技术的区别
  5. 透明图片下载求全透明png图片_微信“全透明”模式,让你的微信真正实现隐身效果!...
  6. python imshow彩色_matplotlib实现显示伪彩色图像及色度条
  7. Java new一个对象的过程
  8. 如何写一份成功的商业计划书
  9. 如何判断绝缘接头质量的好坏?
  10. 如何开发Alexa Intent skill