【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册

简介: 【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册

背景:微信小程序用户分享时后端生成分享图片传给前端图片地址

主要用到的方法:

wx.downloadFile方法下载图片到本地并获取本地文件路径。

wx.openSetting 方法引导用户打开授权设置页面

wx.saveImageToPhotosAlbum 方法将临时文件保存到用户手机的相册中。

保存图片完整代码示例


    wx.downloadFile({
      url: '文件路径', 
      success (res) {
        if (res.statusCode === 200) {
          wx.saveImageToPhotosAlbum({
            filePath: res.tempFilePath,
            success(res) {
              
            wx.showToast({
              title: '保存成功'
            });
            },
            fail (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: '需要您授权保存相册',
                  showCancel: false,
                  success: res=> {
                    wx.openSetting({
                      success(res) {
                        if (settingdata.authSetting['scope.writePhotosAlbum']) {
                          wx.showModal({
                            title: '提示',
                            content: '获取权限成功,再次点击分享即可保存',
                            showCancel: false,
                          })
                        } else {
                          wx.showModal({
                            title: '提示',
                            content: '获取权限失败,将无法保存到相册哦~',
                            showCancel: false,
                          })
                        }
                      },
                      fail(err) {
                        console.log("fail", err)
                      },
                      complete(res) {
                        console.log("finish", res)
                      }
                    })
                  }
                })
              } else if (err.errMsg === "saveImageToPhotosAlbum:fail cancel") {
                wx.showModal({
                  title: '提示',
                  content: '取消了保存分享图片,再次点击分享即可保存',
                  showCancel: false,
                })
              } else {
              }
            }
          })
        } else {
          util.hideToast()
          wx.showModal({
            title: '提示',
            content: "图片下载失败",
            showCancel: false,
          })
        }
      },
      fail () {
        util.hideToast()
        wx.showModal({
          title: '提示',
          content: "图片下载失败",
          showCancel: false,
        })
      }
    })
目录
相关文章
|
7月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
283 1
|
人工智能 小程序 前端开发
【一步步开发AI运动小程序】十九、运动识别中如何解析RGBA帧图片?
本文介绍了如何将相机抽取的RGBA帧图像解析为`.jpg`或`.png`格式,适用于体测、赛事等场景。首先讲解了RGBA图像结构,其为一维数组,每四个元素表示一个像素的颜色与透明度值。接着通过`uni.createOffscreenCanvas()`创建离屏画布以减少绘制干扰,并提供代码实现,将RGBA数据逐像素绘制到画布上生成图片。最后说明了为何不直接使用拍照API及图像转换的调用频率建议,强调应先暂存帧数据,运动结束后再进行转换和上传,以优化性能。
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
3731 12
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
3883 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
3902 7
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
2436 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
4368 1
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
3641 11
技术小白如何利用DeepSeek半小时开发微信小程序?

热门文章

最新文章