当前位置: 首页 > news >正文

uni-app项目实战笔记24--uniapp实现图片保存到手机相册

前提条件:微信小程序要想实现保存图片到本地相册需要到微信公众平台--小程序--开发管理中配置服务器域名中的downloadFile合法域名:

\uniapp提供了saveImageToPhotosAlbum API实现保存的图片到本地相册。下面是它的配置参数:

参数名类型必填说明
filePathString图片文件路径,可以是临时文件路径,也可以是永久文件路径,不支持网络图片路径
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

 其中filePath参数为必填参数,需要填入图片文件路径,注意:该参数不支持网络图片(例如https://www.test.com/001.jpg)。

此外:该API只支持小程序,不支持H5。

由于saveImageToPhotosAlbum不支持网络图片路径,因此需要借助uniapp另一个API:getImageInfo,下面是它的配置参数:

 参数说明

参数名类型必填说明
srcString图片的路径,可以是相对路径,临时文件路径,存储文件路径,网络图片路径
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

从上表src参数可知 ,getImageInfo支持网络图片路径。因此我们可以通过getImageInfo获取图片本地路径,再通过saveImageToPhotosAlbum下载到本地:

下面是使用示例;

//用户点击下载时触发的事件处理
const clickDownload = ()=>{// #ifdef H5uni.showModal({content:"长按保存壁纸",showCancel:false})// #endif// #ifndef H5uni.getImageInfo({src:currentInfo.value.picurl,success:(res)=>{uni.saveImageToPhotosAlbum({filePath:res.path,success:(res) =>{console.log(res)	}})}})// #endif
}

 可以通过打印日志,查看getImageInfo API返回的结果,从下图可知,图片放在path字段中返回:

知识要点:

1、上面的代码使用了条件编译,如果是H5使用弹窗告知用户下载图片的方法;

2、除H5以外,使用getImageInfo+saveImageToPhotosAlbum组合式API实现将APP上的图片下载到本地。

关于saveImageToPhotosAlbum更多信息可访问官方文档:

uni-app官网

http://www.lryc.cn/news/574482.html

相关文章:

  • spring01-简介
  • 618风控战升级,瑞数信息“动态安全+AI”利剑出鞘
  • window显示驱动开发—DirectX 图形基础结构 DDI
  • 【CS创世SD NAND征文】基于全志V3S与CS创世SD NAND的物联网智能路灯网关数据存储方案
  • taro小程序,tailwindcss的bg-x-x,背景颜色不生效,只有自定义的写法颜色才生效
  • C++修炼:异常
  • 解码成都芯谷金融中心文化科技产业园:文化+科技双轮驱动
  • Qt 中使用 gtest 做单元测试
  • 一文读懂微观测量:光学3D轮廓仪与共聚焦显微成像的结合应用
  • cherry-pick除了使用命令,有没有什么工具可以使用,或者更高效的方法
  • Linux 文件 I/O 与标准 I/O 缓冲机制详解
  • Java面试中被深挖过的线程问题
  • 对手机屏中断路和短路的单元进行切割或熔接,实现液晶线路激光修复原理
  • Luckysheet Excel xlsx 导入导出互相转换
  • 02-Linux内核源码编译
  • CentOS 7 编译安装Nginx 1.27.5完整指南及负载均衡配置
  • MinIO中视频转换为HLS协议并进行AES加密
  • Python Polars库详解:高性能数据处理的新标杆
  • pyqt多界面
  • LangChain网页自动化PlayWrightBrowserToolkit
  • gRPC 静态库链接到 DLL 的风险与潜在问题
  • 鸿蒙开发深入解析:Service Ability(后台任务)全面指南
  • 深度解析|智能汽车操作系统技术突破:从架构演进到产业重构
  • 比翼双飞,影像的迁徙之旅
  • 基于目标驱动的分布式敏捷开发
  • GPPT(Graph Pre-training and Prompt Tuning)项目复现
  • 生成FUCK代币,并用程序进行转账的过程
  • C++字符串的行输入
  • 查询sqlserver数据库中,数据占的空间和索引占的空间
  • 鸿蒙HarmonyOS 5 开发实践:LazyForEach在通讯录应用中的高效渲染(附:代码)