先来看小程序中的保存图片到相册的api

wx.saveImageToPhotosAlbum({filePath : "./test.png",   //这个只是测试路径,没有效果success(res) {console.log("success");},fail : function(res) {console.log(res);}
})

上面的saveImageToPhotosAlbum的用法是不能获取到文件的,因为filePath在官方的说法是可以是临时文件路径或永久文件路径。

而"filePath : ./test.png"只是一个相对路径(相对小程序项目来说的一个路径),而我们需要的是临时文件路径或永久文件路径。

下面说一下三者的区别:

相对路径:小程序项目中相对的文件路径。

临时文件路径:从网络上下载或其他形式生成的文件,但是只保存在内存中,没有保存到小程序目录中的文件路径。

永久文件路径:小程序项目中文件中的全文件路径。

注:相对路径和永久文件路径可能是同一个文件,只是引用的路径名不一样而已(一个是相对的,一个是绝对的)。

其中临时文件路径我们可以这样获得来保存文件到相册:

wx.downloadFile({url: 'https://example.com/audio/123',     //仅为示例,并非真实的资源success: function (res) {// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容if (res.statusCode === 200) {wx.saveImageToPhotosAlbum({filePath: res.tempFilePath,success(res) {wx.showToast({title: '保存图片成功!',})},fail(res) {wx.showToast({title: '保存图片失败!',})}})}}
})

用downloadFile只可以获取网络上的图片资源;而getImageInfo则是全能类型,不管是网络上的图片资源,还是小程序中保存的图片。

官方上的说法:getImageInfo的src参数的图片路径可以是相对路径、临时文件路径、存储文件路径(即上面说的全路径)、网络图片路径。

wx.downloadFile({url: 'https://example.com/audio/123',     //仅为示例,并非真实的资源success: function (res) {// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容if (res.statusCode === 200) {wx.saveImageToPhotosAlbum({filePath: res.tempFilePath,success(res) {wx.showToast({title: '保存图片成功!',})},fail(res) {wx.showToast({title: '保存图片失败!',})}})}}
})

总结

wx.getImageInfo功能更加强大;但是downloadFile则更加专业,因为downloadFile可以读取下载进度等功能。

跨平台框架uni-app基于微信小程序同理。

原文:https://blog.csdn.net/u013654125/article/details/80500306

微信小程序项目图片如何保存到本地的方法相关推荐

  1. 微信小程序——image图片自适应宽度比例显示的方法

    微信小程序的组件image是用来显示图片的,它有一下几个属性: 1.src              图片资源地址 2.mode          图片裁剪.缩放的模式 3.binderror     ...

  2. 微信小程序中图片占满整个屏幕实现方法

    将body和html设置为100%,这样我们就可以在他们的子元素中使用height:100%来使的我们的容器元素占满屏幕的高度啦. 但是在微信小程序中,是没有dom对象的,根节点是page,使用pag ...

  3. 微信小程序image图片自适应宽度比例显示的方法

    一.了解image组件 由于image有默认的固定的宽度和高度,这样我们在做图片自适应的时候,就不好做了.下面就来一起解决下 二.方法 (一).使用mode:widthFix widthFix:宽度不 ...

  4. 【图片消消乐】单机游戏-微信小程序项目开发入门

    这是一个微信小程序项目,是类似开心消消乐的休闲小游戏,老少皆宜,游戏互动里面的图片是用的任何图片素材,根据自己的需求更换图片即可.想要做游戏不知道怎么做,建议从这个小程序入手,花时间研究学习,很快就拥 ...

  5. 健康菜谱微信小程序+项目前后台源码(JavaSSM+Mysql)

     博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 健康菜谱微信小程序+项目前后台源码(JavaSSM+Mysql) 视频效果 ht ...

  6. 微信小程序分享图片给微信好友(如二维码)

    目录 前言 一.使用哪种api? 二.对图片的处理需要转化为临时路径 三.Windows端兼容性问题 前言 最近在公司开发一个微信小程序项目,用到的uniapp技术,在分享图片时,查看了uniapp的 ...

  7. 微信小程序裁剪图片成圆形

    代码地址如下: http://www.demodashi.com/demo/14453.html 前言 最近在开发小程序,产品经理提了一个需求,要求微信小程序换头像,用户剪裁图片必须是圆形,也在git ...

  8. uniapp 微信小程序开发 图片上传压缩

    uniapp 微信小程序开发 图片上传压缩 安卓上传图片并压缩 思路 全部代码 安卓上传图片并压缩 由于后端接口对图片的大小有限制,所以在上传图片是需要压缩处理: uni.chooseImage({c ...

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

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

最新文章

  1. 解释深度学习的新角度,来自光学的启发
  2. 跟小博老师一起学JSP ——连接数据库
  3. 在asp.net core2.1中添加中间件以扩展Swashbuckle.AspNetCore3.0支持简单的文档访问权限控制...
  4. MySQL索引底层实现原理
  5. J2EE实现发送邮件功能
  6. JavaScript 的 switch 条件语句
  7. C++_类和对象_对象特性_初始化列表---C++语言工作笔记045
  8. iOS各个版本的新特性介绍
  9. Ubuntu 13.04 安装最新版本的Nginx
  10. 迷你博客突然走红 至今尚无商业模式
  11. windows对计算机硬件有要求吗,win10对硬件有什么要求_win10硬件配置有哪些要求
  12. 面试常考的7道智力题,再也不怕面试官刁难
  13. 【Format】ASF/WMV 文件格式解析
  14. 基于Python的电商数据分析系统
  15. Okra App Framework 框架导航过程
  16. 成交量占比过半 优信拍继续领跑二手车电商B端市场
  17. Java多线程开发——一个简单的数字加减小例子
  18. 哪款蓝牙耳机跑步好用?跑步好用的耳机推荐
  19. Vulkan_Shader_Day02—光照(基础光照_Phong Lighting Model)
  20. Oracle Oracle数据库常用命令、Linux监听配置、oracle linux下开放1521端口

热门文章

  1. 记录vue使用bable将es6转译为es5
  2. Java日志门面担当-SLF4J
  3. 微软 香港云服务器,香港云服务器好用吗
  4. 谷歌大小写转换_如何轻松更改Google文档中文本的大小写
  5. CSAPP AttackLab解题记录
  6. 凯撒移位密码python_凯撒密码python拓展程序
  7. Oracle EBS 接收事务处理类型 rcv_transactions transaction_type
  8. 《吃透MQ系列,图灵学院和咕泡学院
  9. 计算机中ppt,计算机中的数.ppt
  10. 订单流失总金额怎么算_微信新规下增长乏力,裂变到底该怎么做?