NodeJs fs.createWriteStream: флаг 'wx' не работает - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть метод, который начинает сохранять изображение из потока:

 saveFromStream() {

    const imageName = this.getImageName();
    console.log('flag of stream:',this.flag);
    this.response.data.pipe(fs.createWriteStream(this.dest + imageName), { encoding: 'binary',flags:this.flag })
    return new Promise((resolve, reject) => {
        this.response.data.on('end', () => {
            resolve()
        })

        this.response.data.on('error', () => {
            reject()
        })
    })
}

"this.flag" происходит от объекта конфигурации пользователя. Когда я передаю 'wx', я вижу, что существующие файлы все еще перезаписываются. Я не понимаю почему. Как вы можете видеть, я передаю флаг в объекте параметров.

Это прекрасно работает, когда я использую fs.writeFile (который выдает ошибку 'EEXIST', если файл существует), но не с fs.createWriteStream.

Есть идеи почему?

...