download.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. function saveImageToPhotosAlbum(url) {
  2. let base64 = url.replace(/^data:image\/\w+;base64,/, ""); //去掉data:image/png;base64,
  3. let filePath = wx.env.USER_DATA_PATH + '/qrImg.png';
  4. return new Promise((resolve, reject) => {
  5. uni.getFileSystemManager().writeFile({
  6. filePath: filePath, //创建一个临时文件名
  7. data: base64, //写入的文本或二进制数据
  8. encoding: 'base64', //写入当前文件的字符编码
  9. success: res => {
  10. uni.saveImageToPhotosAlbum({
  11. filePath: filePath,
  12. success: function(res2) {
  13. resolve(res2)
  14. },
  15. fail: function(err) {
  16. reject(err)
  17. }
  18. })
  19. },
  20. fail: err => {
  21. reject(err)
  22. }
  23. })
  24. })
  25. }
  26. export function base64DownLoad(url) {
  27. return new Promise((resolve, reject) => {
  28. uni.getSetting({ //获取用户的当前设置
  29. success: (res) => {
  30. if (res.authSetting['scope.writePhotosAlbum']) { //验证用户是否授权可以访问相册
  31. saveImageToPhotosAlbum(url).then(res => {
  32. resolve(res)
  33. }).catch(err => {
  34. reject(err)
  35. })
  36. } else {
  37. uni.authorize({ //如果没有授权,向用户发起请求
  38. scope: 'scope.writePhotosAlbum',
  39. success: () => {
  40. saveImageToPhotosAlbum(url).then(res => {
  41. resolve(res)
  42. }).catch(err => {
  43. reject(err)
  44. })
  45. },
  46. fail: (err) => {
  47. uni.showModal({
  48. title: '提示',
  49. content: '您未开启保存图片到相册的权限,请点击确定去开启权限!',
  50. success(res) {
  51. if (res.confirm) {
  52. uni.openSetting()
  53. }
  54. }
  55. })
  56. reject(err)
  57. }
  58. })
  59. }
  60. }
  61. })
  62. })
  63. }
  64. export function imgDownLoad(url) {
  65. return new Promise((resolve, reject) => {
  66. uni.getSetting({
  67. success: function(res) {
  68. if (!res.authSetting['scope.writePhotosAlbum']) { //判断是否开启相册权限
  69. uni.authorize({
  70. scope: 'scope.writePhotosAlbum',
  71. success: function(res) {
  72. uni.downloadFile({
  73. url: url,
  74. success: function(res) {
  75. uni.saveImageToPhotosAlbum({
  76. filePath: res.tempFilePath,
  77. success: function(res) {
  78. resolve(res)
  79. }
  80. })
  81. },
  82. fail: function(err) {
  83. reject(err)
  84. }
  85. })
  86. },
  87. fail(err) {
  88. uni.showModal({
  89. title: '提示',
  90. content: '您未开启保存图片到相册的权限,请点击确定去开启权限!',
  91. success(res) {
  92. if (res.confirm) {
  93. uni.openSetting()
  94. }
  95. }
  96. })
  97. reject(err)
  98. }
  99. })
  100. } else {
  101. uni.downloadFile({
  102. url: url,
  103. success: function(res) {
  104. uni.saveImageToPhotosAlbum({
  105. filePath: res.tempFilePath,
  106. success: function(res) {
  107. resolve(res)
  108. },
  109. fail: function(err) {
  110. reject(err)
  111. }
  112. })
  113. },
  114. fail: function(err) {
  115. reject(err)
  116. }
  117. })
  118. }
  119. },
  120. fail(err) {
  121. uni.showToast({
  122. title: '保存失败'
  123. })
  124. reject(err)
  125. }
  126. })
  127. })
  128. }
  129. export function fileDownLoad(url){
  130. }