先来看小程序中的保存图片到相册的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可以读取下载进度等功能。

最新文章

  1. Hadoop组件构成
  2. 艺萌文件上传下载及自动更新系统(基于networkComms开源TCP通信框架)
  3. Apache禁止目录访问的方法
  4. linux(CentOS)-nodejs项目部署
  5. 【GOF23设计模式】责任链模式
  6. Apache的Order Allow Deny心得
  7. ExtJS 4 类系统
  8. jQuery中Ajax事件顺序及各参数含义
  9. Direct3D 顶点缓存
  10. ECSHOP常用函数
  11. perl-cgi高级
  12. iOS学习—— UINavigationController的返回按钮与侧滑返回手势的研究
  13. threejs - uv 映射 简要
  14. 在windows下安装、配置、运行PostgreSQL【转】
  15. 全方位理解Android权限之底层实现概览
  16. 前段基础之CSS
  17. Docker: connection reset by peer
  18. gorm-Duplicate-entry
  19. pghoard 面向云存储的pg 备份&&恢复工具
  20. Swagger使用教程 SwashbuckleEx

热门文章

  1. Mac下的Bash配置文件冲突问题
  2. RDC去省赛玩前の日常训练 Chapter 1
  3. Java经验杂谈(2.对Java多态的理解)
  4. java监听器之实现在线人数显示
  5. html居中定位
  6. flash builder 4.6与myecilpse 10.7集成
  7. flex 分页打印表格功能
  8. builder设计模式(摘录ITeye文章lintomny)
  9. Linux(二十二)Ubuntu安装和配置
  10. div布局之面向对象