nodejs处理arraybuffers

时间:2016-03-18 03:36:43

标签: node.js buffer arraybuffer

假设我创建了一个multipart,application / octet-stream请求,其响应类型为' arraybuffer' ...假设我在nodejs中收到此消息,并尝试将响应写入文件。我该怎样处理这个问题,以免破坏内容?

我目前的做法是这样的

var req = var req = restler.post(url, opts)
  .on('data', function (data){
    console.log('receiving data...');
    console.log(data);
  }).on('complete', function (data) {
    var buff = new Buffer(data) //this is prolly incorrect, but I can't figure this out at all
    fs.writeFile(file_name, buff.toString('binary'), function(err){
      console.log('done!')
    });

这里我将内容写入文件名。 假设我获取了一个微软word文件...获取它只会导致我损坏文件。此外还使用restler包

1 个答案:

答案 0 :(得分:0)

根据restler documentation,您可以在decoding: 'buffer'中设置opts,它会将二进制数据保持为Buffer而不是默认的utf8编码字符串。从那里开始,只需将缓冲区直接传递给fs.writeFile()而不调用buffer.toString()