node.js / express - 流式传输二进制文件中的每个第n个单词

时间:2016-05-31 15:15:13

标签: javascript node.js stream

如果我想传输整个二进制文件,我可以做一些简单的事情:

res.sendfile(file);

我还可以打开一个流,然后再手动执行:

var stream = require('fs').createReadStream(file);
stream.pipe(res);

我无法找到一种只发送部分(非常大)文件的方法。在我的特定情况下,我有一个interleaved int16s的二进制文件,我希望能够从其余的数据中分离出一组数据。即,如果我想要文件中的第5组数据,我需要:

  1. 打开文件
  2. 寻找前8个字节
  3. 直到到达文件末尾:

    3A。 -read /发送两个字节

    3B。 -seek 2个字节乘以文件中的数据集(少于一个)到下一个两个字节的集合(让我们说文件中有16组数据 - >寻找30个字节)

  4. 非常感谢任何帮助,谢谢!

0 个答案:

没有答案