小程序长按保存图片

爱被打了一巴掌 2022-09-04 15:57 470阅读 0赞
  1. <image mode="widthFix" bindlongtap="longPressSaveImg" data-url="{
  2. {data}}" class="img" src="{
  3. {data}}"></image>

只需复制代码即可

  1. longPressSaveImg (e) {
  2. let that = this
  3. let url = e.currentTarget.dataset.url;
  4. console.log(url);
  5. if (!wx.saveImageToPhotosAlbum) {
  6. wx.showModal({
  7. title: '提示',
  8. content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
  9. })
  10. return;
  11. }
  12. // 检查用户授权
  13. wx.getSetting({
  14. success(res) {
  15. if (!res.authSetting['scope.writePhotosAlbum']) {
  16. // 接口调用询问
  17. wx.authorize({
  18. scope: 'scope.writePhotosAlbum',
  19. success() {
  20. that.saveImg(url);
  21. },
  22. fail() {
  23. // 用户拒绝授权
  24. wx.showModal({
  25. title: '保存图片',
  26. content: '保存图片需要您授权',
  27. showCancel: true,
  28. confirmText: '确定',
  29. success (res) {
  30. if (res.confirm) {
  31. // 打开设置页面
  32. wx.openSetting({
  33. success (res) {
  34. if (res.authSetting['scope.writePhotosAlbum']) {
  35. that.saveImg(url);
  36. } else {
  37. wx.showToast({
  38. title:'授权失败!',
  39. icon:"none"
  40. });
  41. }
  42. },
  43. fail (res) {
  44. wx.showToast({
  45. title:'授权失败!',
  46. icon:"none"
  47. });
  48. }
  49. });
  50. } else if (res.cancel) {
  51. wx.showToast({
  52. title:'您已取消授权!',
  53. icon:"none"
  54. });
  55. }
  56. }
  57. })
  58. }
  59. })
  60. } else {
  61. that.saveImg(url)
  62. }
  63. },
  64. fail(res) {
  65. console.log(res);
  66. }
  67. })
  68. },
  69. saveImg (imageUrl) {
  70. wx.getImageInfo({
  71. src: imageUrl,
  72. success:(res)=> {
  73. let path = res.path;
  74. wx.saveImageToPhotosAlbum({
  75. filePath:path,
  76. success:(res)=> {
  77. wx.showToast({
  78. title:'保存成功'
  79. });
  80. },
  81. fail:(res)=>{
  82. wx.showToast({
  83. title:'您已取消保存',
  84. icon:"none"
  85. });
  86. }
  87. })
  88. },
  89. fail:(res)=> {
  90. console.log(res);
  91. }
  92. })
  93. },

发表评论

表情:
评论列表 (有 0 条评论,470人围观)

还没有评论,来说两句吧...

相关阅读