tools.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * Created by zhengguorong on 2016/11/30.
  3. */
  4. var fs = require('fs')
  5. var mkdirp = require('mkdirp')
  6. var path = require('path')
  7. var ejs = require('ejs')
  8. var fs = require('fs')
  9. const base64ToImg = (imgData, filePath) => {
  10. var base64Data = imgData.replace(/^data:image\/\w+;base64,/, "")
  11. var dataBuffer = new Buffer(base64Data, 'base64')
  12. var fileDir = path.dirname(filePath)
  13. mkdirp(fileDir, (err) => {
  14. fs.writeFile(filePath, dataBuffer, (err) => {
  15. })
  16. })
  17. }
  18. /**
  19. * 获取上传文件后缀
  20. * @param {*} imgData
  21. */
  22. const getFileExt = (imgData) => {
  23. if (imgData.indexOf('image/gif') > -1) {
  24. return '.gif'
  25. } else {
  26. return '.png'
  27. }
  28. }
  29. const renderFile = (filePath, data, successCallback) => {
  30. var rootPath = path.join(__dirname, '../views/')
  31. fs.readFile(rootPath + filePath, { flag: 'r+', encoding: 'utf8' }, function (err, result) {
  32. if (err) {
  33. console.log(err)
  34. return;
  35. }
  36. let html = ejs.render(result, data)
  37. successCallback(html)
  38. });
  39. }
  40. const saveFile = (filePath, data, successCallback) => {
  41. var rootPath = path.join(__dirname, '../public/pages/')
  42. mkdirp(rootPath, (err) => {
  43. fs.writeFile(rootPath + filePath, data, function (err) {
  44. if (err) {
  45. console.error(err);
  46. } else {
  47. successCallback && successCallback()
  48. }
  49. });
  50. })
  51. }
  52. module.exports = {
  53. base64ToImg,
  54. renderFile,
  55. saveFile,
  56. getFileExt
  57. }