nodejs下载新创建的文件

时间:2019-02-28 10:34:11

标签: node.js express

要处理请求,请首先确定文件是否退出。如果不存在,请先创建文件,最后返回文件,但是如果文件不存在,则返回文件为空...

fn: async ctx => {
    let filePath = path.join(__dirname,'..',fileDir,fileName)
    if (!fs.existsSync(filePath)){
        if(!fs.existsSync(fileDir)){
            fs.mkdirSync(fileDir)
        }
        command = batCommand + ctx.req.query.git_name + " " + ctx.req.query.git_email
        await fs.writeFile(filePath,command,err =>{
            if (err){
                return err
            }
            return "ok"
        })
    }
    ctx.res.download(filePath)
    return 1
}

我知道回调函数的返回。

1 个答案:

答案 0 :(得分:0)

希望此代码段可以解决您的问题,

fn: ctx => {
  let filePath = path.join(__dirname, '..', fileDir, fileName)
  try {
    if (!fs.existsSync(filePath)) {
      if (!fs.existsSync(fileDir)) {
        fs.mkdirSync(fileDir)
      }
      command = batCommand + ctx.req.query.git_name + " " + ctx.req.query.git_email
      fs.writeFileSync(filePath, command);
    }
    return ctx.res.download(filePath)
  } catch{
    return err
  }
}