1

我发布了一个相对较大的(50K)文本文件:

curl -H "Content-Type:text/plain"  -d @system.log http://localhost:8888/

使用代理进行测试,我可以看到文件的全部内容正在发布。

但是 Express.JS 在标题中看到 100:Continue 和空白正文。我有 :

app.use(express.bodyParser());

启用,顺便说一句。以下是标题:

{ 'user-agent': 'curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5',
  host: 'localhost:8888',
  accept: '*/*',
  'content-type': 'text/plain',
  'content-length': '55909',
  expect: '100-continue' }

req.body 为空:

{}

如何查看 Express.JS 中发布的所有数据?

4

1 回答 1

1

我的猜测是节点会100-continue根据节点 http 模块文档自动发送响应(假设您使用的是足够新的节点版本)。我猜正在发生的只是text/plain内容类型不是bodyParser可以解析为其他内容的格式(与 json 或 www-form-urlencoded 不同)。因此,您可以从标准data事件中获取数据,请求将为它读取的每个数据块发出该事件。

于 2012-09-19T14:56:59.660 回答