0

我对如何传输一些数据有点困惑。

我有一些管道正在工作和链接,这样我就没有包含我想输入到请求 POST 的数据的输出流

var options = {
    host: 'localhost',
    port: 8529,
    path: '/_api/cursor',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': data.length
    }
}

var req = http.request(options);

我通常只会操作 'mystreams2.pipe(req)' 但如何设置 'data.length' 值?

(我使用的是streams2接口而不是旧的流格式)

4

1 回答 1

0

假设您的缓冲区中没有大量数据,您首先需要收集数据以找到其长度。

var source = /* a readable stream */;
var data = '';

source.on('data', function(chunk) {
  data += chunk;
});
source.on('end', function() {
  var options = {
    host: 'localhost',
    port: 8529,
    path: '/_api/cursor',
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
      'Content-Length': data.length
    }
  };

  var req = http.request(options);
  req.end(data);
});
于 2013-09-29T23:57:47.453 回答