如何修改node.js流

时间:2013-04-25 15:28:10

标签: javascript node.js amazon-s3 stream

我正在从S3流式传输xml文件。我需要为sphinx搜索引擎构建一个具有不同结构的新xml文件。我已经从S3流式传输文件,将其传输到我的SAX解析器中,但现在我需要弄清楚如何修改流(在SAX解析器之后)并上传到S3。

parser.on('startElement', function(name, attrs) {
    // Do something
});

我发现了一个名为knox的流的S3库,所以我目前正在使用该库。我并没有被困在这个图书馆,只是我发现它似乎很体面。他们在示例中将数据流式传输到S3的代码仅来自HTTP请求。我对流是比较新的,因为我有PHP背景。

Knox示例流:

http.get('http://google.com/doodle.png', function(res){
  var headers = {
      'Content-Length': res.headers['content-length']
    , 'Content-Type': res.headers['content-type']
  };
  client.putStream(res, '/doodle.png', headers, function(err, res){
    // Logic
  });
});

我想我需要做一些事情。

parser.on('startElement', function(name, attrs) {

  var headers = {
      'Content-Length': res.headers['content-length']
    , 'Content-Type': res.headers['content-type']
  };
  client.putStream(res, '/doodle.png', headers, function(err, res){
    // Logic
  });

});

非常感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:2)

This discussion of Node's new streams明确谈到从S3转换流。

注意:这是对Node 0.10.x

中实现的流的引用

答案 1 :(得分:0)

https://www.npmjs.org/package/through

该模块将满足您的需求。