nodejs按照日期每天自动生成文件夹,这个应该怎么实现呢?求老哥指教

问题描述:现在有一个pc端项目,期望每天第一次用做个项目的时候,在拍照之后自动保存在生成的文件夹下,如果有这个文件夹就不用再生成了
例:第一次用这个系统,生成文件夹名称就是20181205_photo(每天都会自动生成一个日期——photo文件夹)

每天“第一次点击”拍照这个事件时就会自动触发检查是否存在这个文件,如果不存在这个文件夹就创建

阅读 4.2k
2 个回答
const fs = require('fs')
const path = require('path')

// 根据日期检查照片存放目录,不存在则创建,然后返回目录
const getPhotoPath = () => {
  const date = new Date()
  const toPad2 = num => num.padStart(2, '0')
  const photoPath = path.join(
    __dirname,
    `${date.getFullYear()}${toPad2(`${date.getMonth() + 1}`)}${toPad2(
      `${date.getDate()}`
    )}_photo`
  )
  if (!fs.existsSync(photoPath)) {
    fs.mkdirSync(photoPath)
  }
  return photoPath
}

// 写入文件,返回一个`promise`
const write = (filePath, data) =>
  new Promise((resolve, reject) => {
    fs.writeFile(filePath, data, 'binary', err => {
      if (err) {
        reject(err)
      } else {
        resolve(true)
      }
    })
  })

// 事件触发
const onPhotograph = imgData => {
  const photoPath = getPhotoPath()
  write(path.join(photoPath, 'photo-name.img'), imgData).then(() => {
    // ... do something
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题