JaxAdam
@JaxAdam
Junior Full-Stack Developer

Как правильно создать новый файл в NodeJS?

let date = new Date();
    let filename = SSN + '_' + date.getFullYear() + '/' + date.getMonth() + '/' + date.getDay() + '_' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + '.txt';
    let text = '';
    ecg.forEach((item) => {
        text += item;
    });
    try{
        fs.writeFileSync(filename, text);
    } catch (e) {
        console.log(e);
    }

Добрый вечер, форумчане! С NodeJS не особо близок, но вот такое дела, все пытаюсь создать новый файл с нужным мне текстом но никак не получается сделать правильно, все время получаю следующую ошибку:
Error: ENOENT: no such file or directory, open '980524420063_2019/9/4_21:49:15.txt'
    at Object.openSync (fs.js:448:3)
    at Object.writeFileSync (fs.js:1248:35)
    at Timeout.logECG [as _onTimeout] (C:\Users\adeke\Desktop\comCatcher\index.js:32:12)
    at listOnTimeout (internal/timers.js:531:17)
    at processTimers (internal/timers.js:475:7) {
  errno: -4058,
  syscall: 'open',
  code: 'ENOENT',
  path: '980524420063_2019/9/4_21:49:15.txt'
}

Прошу помочь! Спасибо всем!
  • Вопрос задан
  • 823 просмотра
Решения вопроса 1
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
сначала создай директории в которых это файл лежит

если версия ноды больше чем 10.12.00 то попробуйте так

function saveFileSync(path, data){
  let list = path.split(/[\\\/]/);
  let filename = list.pop();
  let filepath = list.join('/');
  fs.mkdirSync(filepath, { recursive: true }, (err) => {
    if (err) throw err;
  });
  fs.writeFileSync(path, data);
}



let date = new Date();
let filename = SSN + '_' + date.getFullYear() + '/' + date.getMonth() + '/' + date.getDay() + '_' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + '.txt';
let text = ecg.join('');
try{
    saveFileSync(filename, text);
} catch (e) {
    console.log(e);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
JaxAdam
@JaxAdam Автор вопроса
Junior Full-Stack Developer
Это не слеши!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы