Steam文件流很怪异,大家帮忙看看怎么回事
发布于 6 年前 作者 Tenneat 2446 次浏览 来自 问答

SPD1.png sdk4.png

正常情况下通过读取流方式读出来的就是正确json数据

sdk2.png ORG1.png

摆在请求里面,同样的代码,为什么流是空的,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'))

回到顶部