我有这种方法,可以开始从流中保存图像:
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一起使用时,它可以很好地工作。
知道为什么吗?