2:调用微信小程序保存图片的接口(wx.saveImageToPhotosAlbum)需要注意..._微信小程序长按存储表情包">
当前位置:   article > 正文

微信小程序长按保存图片_微信小程序长按存储表情包

微信小程序长按存储表情包

1:给需要有长按保存图片的image加上longpress事件

wxml:

<image src="{{url}}" data-url="{{url}}" class="xiang_img" bindlongpress="saveImage"></image>

2:调用微信小程序保存图片的接口(wx.saveImageToPhotosAlbum)

需要注意两个问题:一个是需要用户的授权,还有一个是图片不能是网络路径。

 

长按之后判断用户是否授权,调用 wx.getSetting()方法

如果没有授权,就向用户发起授权请求

当我们渲染页面时,用到的图片如果是网络路径,就需要先把网络路径转为可用的本地路径,调用wx.getImageInfo()方法,官方文档可以看到,回调函数里面path可以获取到返回的本地路径。

把这个路径放到wx.saveImageToPhotosAlbum()方法里面用就可以把图片保存到相册了。

js:

  1. // 长按保存功能--授权部分
  2. saveImage (e) {
  3. let _this = this
  4. wx.showActionSheet({ //显示操作菜单
  5. itemList: ['保存到相册'],
  6. success(res) {
  7. let url = e.currentTarget.dataset.url;
  8. wx.getSetting({
  9. success: (res) => {
  10. if (!res.authSetting['scope.writePhotosAlbum']) { //判断是否授权
  11. wx.authorize({ //如果没授权,则向用户发起授权请求
  12. scope: 'scope.writePhotosAlbum',
  13. success: () => {
  14. // 同意授权
  15. _this.saveImgInner(url);
  16. },
  17. fail: (res) => {
  18. console.log(res);
  19. wx.showModal({
  20. title: '保存失败',
  21. content: '请开启访问手机相册权限',
  22. success(res) {
  23. wx.openSetting()
  24. }
  25. })
  26. }
  27. })
  28. } else {
  29. // 已经授权了
  30. _this.saveImgInner(url);
  31. }
  32. },
  33. fail: (res) => {
  34. console.log(res);
  35. }
  36. })
  37. },
  38. fail(res) {
  39. console.log(res.errMsg)
  40. }
  41. })
  42. },
  43. // 长按保存功能--保存部分
  44. saveImgInner (url) {
  45. wx.getImageInfo({
  46. src: url,
  47. success: (res) => {
  48. let path = res.path;
  49. wx.saveImageToPhotosAlbum({
  50. filePath: path,
  51. success: (res) => {
  52. console.log(res);
  53. wx.showToast({
  54. title: '已保存到相册',
  55. })
  56. },
  57. fail: (res) => {
  58. console.log(res);
  59. }
  60. })
  61. },
  62. fail: (res) => {
  63. console.log(res);
  64. }
  65. })
  66. },

参考:https://segmentfault.com/a/1190000021452767

https://www.jianshu.com/p/e592e9b28192

参考别人写的,自己捋了一遍思绪。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/134455
推荐阅读
相关标签
  

闽ICP备14008679号