Steam文件流很怪异,大家帮忙看看怎么回事
正常情况下通过读取流方式读出来的就是正确json数据
摆在请求里面,同样的代码,为什么流是空的,ReadStream的end事件是触发的,ReadStream的data事件貌似没有触发。
请大家帮帮忙看下这个。
3 回复
个人猜测会不会是文件路径的问题
@yuezm 不是,我通过log看了路径都是一样的
const fs = require('fs')
require('http').createServer((req,res)=>{
let data = ''
fs.createReadStream('./data.json')
.on('data',chunk=>data+=chunk)
.on('end',()=>{
console.log('end')
console.log(data)
res.end(data)
})
})
.listen(8080,function(){ console.log(`server listen on ${this.address().port}`) })
尝试重现, 没有重现出来, 应该是路径问题
fs.createReadStream('./data.json')
是相对于 process..cwd()
目录的, 如果获取当前文件的文件夹下的 ./data.json
,
需要加上 __dirname
路径 fs.createReadStream(path.join(__dirname,'./data.json'))