NodeJs fs.createWriteStream:'wx'标志不起作用

时间:2018-09-13 18:19:43

标签: node.js stream fs

我有这种方法,可以开始从流中保存图像:

 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一起使用时,它可以很好地工作。

知道为什么吗?

0 个答案:

没有答案