相关疑难解决方法(0)

如何将Buffer作为fs.createReadStream的参数传递

根据文档 https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options

fs.createReadStream()可以接受Buffer作为第一个参数

我的节点代码:

var _ = require('lodash')
var faker = require('faker')
var http = require('http')
var fs = require('fs')
var xlsx = require('node-xlsx')

var gg = _.range(10).map((item) => {
  return _.range(10).map((item) => {
    return faker.name.findName()
  })
})

http.createServer(function(req, res) {
  var buf = xlsx.build([{
    name: 'sheet1',
    data: gg
  }])
  fs.createReadStream(buf, 'binary').pipe(res)

}).listen(9090)
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

events.js:160
  throw er; // Unhandled 'error' event
  ^

Error: Path must be a string without null bytes
at nullCheck (fs.js:135:14)
at Object.fs.open (fs.js:627:8)
at ReadStream.open (fs.js:1951:6) …
Run Code Online (Sandbox Code Playgroud)

node.js

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

node.js ×1