首先我们分析一下需求
1、我们需要拿到一个临时的图片路径
使用小程序api: wx.getImageInfo() 就能拿到图片的临时路径,需要注意的是传入的图片必须是网络图片
2、使用wx.saveImageToPhotosAlbum()保存图片到相册,需注意的是此方法需要授权,

所以实现此功能的流程是先获取到图片的临时路径再存储到相册

下面是我的实现代码

function showToast(title) {wx.showToast({title,icon: "none",mask: true,})
}
// 需要授权
function openSetting() {wx.showModal({title: '提示',content: '请先授权同意保存图片到相册',confirmText: '确定授权',success(res){if (res.confirm) {wx.openSetting({fail(err) {showToast('打开授权设置页面失败');}});}}})
};
// 验证用户是否拥有保存到相册的权限
function authUserJuris(url) {wx.getSetting({success(res) {console.log(res);if (res.authSetting['scope.writePhotosAlbum']) {// 用户已授权saveImage(url);} else if (res.authSetting['scope.writePhotosAlbum'] !== undefined){// 用户首次进入还未调起权限相关接口openSetting();} else {// 用户首次进入saveImage(url);}},fail(err) {showToast('获取授权信息失败')console.log(err);}})
}// 保存图片function saveImage(url, successFn = null, failFn = null) {if (!url) {showToast('缺少图片路径');return;} else if (url.indexOf('http://') === -1) {showToast('请传入网络图片地址');return;}// 获取图片路径wx.getImageInfo({src: url,success(res) {const { path } = res;if (path) {wx.saveImageToPhotosAlbum({filePath: path,success(res) {showToast('保存成功');successFn && successFn();},fail() {showToast('保存失败');failFn && failFn();}})}},fail(err) {showToast('获取图片地址失败');}});
}module.exports = {authUserJuris,
}

小程序保存网络图片到相册相关推荐

  1. 微信小程序保存图片到相册;uni-app小程序保存网络图片到相册;小程序保存图片到相册拒绝授权后重新拉起授权;保存图片到系统相册;小程序保存图片测试可以,真机保存图片失败

    文末代码可以直接复制使用,图片修改成你的图片路径即可 一.场景: 小程序点击按钮,保存项目内的静态图片或者微信头像或者后端返回的图片: 二.注意点及思路拆分: –2.1:小程序保存图片功能,必须要有s ...

  2. 微信小程序保存网络图片至本地

    小程序保存网络图片时发现保存的是以.bin为后缀的文件,无法正常识别,参考网上的例子重新弄了一下,在此记录 // 保存图片(主要针对授权的几种不同情况判断)saveCard() {let that = ...

  3. 微信小程序保存视频到相册wx.saveVideoToPhotosAlbum()

    一.微信小程序保存视频到相册wx.saveVideoToPhotosAlbum() 功能描述 保存视频到系统相册.支持mp4视频格式. 参数 Object object 属性 类型 默认值 必填 说明 ...

  4. 简单的小程序保存网络图片到本地 适用于苹果手机

    首先你需要有一个按钮触发保存的事件 再需要有一个图片路径 接下来就可以点击的时候保存到本地就可以啦 以下内容写到你的方法里就可以 wx.downloadFile({url: 'http://XXX.j ...

  5. 小程序保存海报,canvas绘制然后保存到相册,canvas文字换行计算

    一.小程序保存海报,canvas绘制然后保存到相册 1.wxml <view class="box-canvas"><canvas canvas-id='myCa ...

  6. 【微信小程序】微信小程序保存二维码海报到相册,以及解决二维码不够清晰的问题

    小程序保存二维码海报 添加 canvas 元素poster <canvas class="poster" canvas-id="poster" style ...

  7. 微信小程序下载网络图片保存到本地

    微信小程序下载网络图片保存到本地 问题背景 前一篇文章介绍了,微信小程序网络请求数据并在页面列表显示(参考 https://blog.51cto.com/baorant24/6189453 ),本文将 ...

  8. 微信小程序下载视频到相册(带进度条)

    微信小程序下载视频到相册,并带进度条 <button class="desc-note my-button u-font-32" @click="toUpload( ...

  9. 微信小程序选择图片(相册中选择/相机拍摄)

    微信小程序中关于选择函数有专门的函数: wx.chooseImage(Object object) 从本地相册选择图片或使用相机拍照. 参数 Object object 属性 类型 默认值 必填 说明 ...

最新文章

  1. UVa 679 - Dropping Balls
  2. 微型计算机地未来发展,微型计算机的发展历史、现状和未来(最新) PDF.doc
  3. boost::make_biconnected_planar用法的测试程序
  4. 模拟alert和confirm
  5. java 栈 大小_java – JVM堆栈大小规范
  6. jquery如何获取第一个或最后一个子元素?
  7. wpf开发仿真3d软件_3D体验平台品牌应用——SOLIDWORKS?
  8. RabbitMQ学习之基于spring-rabbitmq的消息异步发送
  9. python字典实现原理-哈希函数-解决哈希冲突方法
  10. gvim的常用编辑快捷键
  11. ElementUI:nav收起后点击后出现黑色边框
  12. 卷积神经网络问题总结
  13. MySQL数据库主键与外键
  14. 动态苹果屏保壁纸软件Brooklyn Mac免费版
  15. html点击按钮跳转到另一个界面_网页制作:一个简易美观的登录界面
  16. 为什么计算机中整数的范围是-32768~32767而不是-32767~32767
  17. 忠实通物流信息管理系统
  18. php四舍六入五成双算法
  19. 什么是串扰crosstalk
  20. 电脑卡,电脑卡到不行?原因和解决方法都在这里了!

热门文章

  1. 收藏!一文掌握智能体协同创新实验室解决方案架构以及搭建流程
  2. 45.古代某工地需要搬运砖块,已知男人每人每次搬3块,女人每人每次搬2块,小孩两人每次抬一块,现有45人一次正好搬完全部砖块,请问男人、女人、小孩各几人?
  3. 《最强蜗牛》体验总结:放置的魅力、沙雕文化的胜利
  4. linux能用airport吗_为什么都用Linux作为云主机的操作系统?
  5. java绘制蝴蝶效应曲线代码_利用MATLAB的常微分方程数值解绘制蝴蝶效应(混沌系统)三维曲线图、平面上的投影图...
  6. 诺基亚5800恢复出厂设置
  7. 获微博战略投资后,有信CEO刘子正内部邮件说了啥?
  8. ISP、IAP、ICP、JTAG、SWD的编程特点!种编程方式区别总结
  9. wow服务器维护公告四号,魔兽世界5月7日更新内容 wow5.7大服务器实装维护公告
  10. 奇点大学:鼓吹未来的非正式大学