base64src.js 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. // +----------------------------------------------------------------------
  2. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  3. // +----------------------------------------------------------------------
  4. // | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
  5. // +----------------------------------------------------------------------
  6. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  7. // +----------------------------------------------------------------------
  8. // | Author: CRMEB Team <admin@crmeb.com>
  9. // +----------------------------------------------------------------------
  10. const fsm = wx.getFileSystemManager ? wx.getFileSystemManager() : null;
  11. const FILE_BASE_NAME = 'tmp_base64src'; //自定义文件名
  12. export function base64src(base64data, dateminutes, cb) {
  13. const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
  14. if (!format) {
  15. return (new Error('ERROR_BASE64SRC_PARSE'));
  16. }
  17. const filePath = `${wx.env.USER_DATA_PATH}/${dateminutes+FILE_BASE_NAME}.${format}`;
  18. const buffer = wx.base64ToArrayBuffer(bodyData);
  19. fsm.writeFile({
  20. filePath,
  21. data: buffer,
  22. encoding: 'binary',
  23. success() {
  24. cb(filePath);
  25. },
  26. fail() {
  27. return (new Error('ERROR_BASE64SRC_WRITE'));
  28. },
  29. });
  30. };
  31. //module.exports = base64src;