当前位置:   article > 正文

微信小程序常见图片格式转base64图片_微信小程序 图片转base64

微信小程序 图片转base64

1、在utils文件下新建一个auth.js文件(随便取一个名字,你开心就行),在里面添加以下代码

  1. /**
  2. * 图片转base64
  3. * @returns {Promise<any>} 返回一个 promise 对象,resolve 结果或 reject 错误
  4. */
  5. function downloadAndConvert(filePath) {
  6. return new Promise((resolve, reject) => {
  7. if (filePath.indexOf('wxfile') ===0 || filePath.indexOf('http://tmp/') ===0) {
  8. wx.getFileSystemManager().readFile({
  9. filePath: filePath,
  10. encoding: 'base64',
  11. success: res => {
  12. wx.getImageInfo({
  13. src: filePath,
  14. success: (infoRes) => {
  15. resolve(`data:image/${infoRes.type};base64,${res.data}`)
  16. },
  17. fail: (err) => {
  18. reject('Error getting image info')
  19. }
  20. })
  21. },
  22. fail: err => {
  23. reject('Error reading file')
  24. }
  25. })
  26. } else {
  27. wx.downloadFile({
  28. url: filePath,
  29. success: res => {
  30. wx.getFileSystemManager().readFile({
  31. filePath: res.tempFilePath,
  32. encoding: 'base64',
  33. success: res => {
  34. wx.getImageInfo({
  35. src: filePath,
  36. success: (infoRes) => {
  37. resolve(`data:image/${infoRes.type};base64,${res.data}`)
  38. },
  39. fail: (err) => {
  40. reject('Error getting image info')
  41. }
  42. })
  43. },
  44. fail: err => {
  45. console.log('网络',err)
  46. }
  47. })
  48. },
  49. fail: err => {
  50. console.log('下载网络失败',err)
  51. }
  52. })
  53. }
  54. })
  55. }
  56. module.exports={
  57. downloadAndConvert
  58. }

如果是网络图片需要先使用wx.downloadFile({...})下载之后才可进行转换,本地的则直接转换即可你可根据具体需求修改代码,不要受此处代码影响。

2、在你需要使用的地方引入

  1. const auth = require('../../utils/auth');
  2. Page({
  3. data: {
  4. },
  5. onLoad() {
  6. let base64 = auth.downloadAndConvert('../../images/logo.png')
  7. console.log(base64 )
  8. }
  9. })

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

闽ICP备14008679号