nodejs 处理数组缓冲区
nodejs handling arraybuffers
假设我做了一个多部分,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!')
});
这里我把内容写入文件名。
假设我获取了一个 Microsoft Word 文件...获取它只会导致我找到损坏的文件。还为此使用了 restler 包
根据 restler
documentation,您可以在 opts
中设置 decoding: 'buffer'
,它将保持二进制数据完整无缺,作为 Buffer
而不是默认的 utf8-编码字符串。从那里开始,只需将缓冲区直接传递给 fs.writeFile()
而无需调用 buffer.toString()
.
假设我做了一个多部分,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!')
});
这里我把内容写入文件名。 假设我获取了一个 Microsoft Word 文件...获取它只会导致我找到损坏的文件。还为此使用了 restler 包
根据 restler
documentation,您可以在 opts
中设置 decoding: 'buffer'
,它将保持二进制数据完整无缺,作为 Buffer
而不是默认的 utf8-编码字符串。从那里开始,只需将缓冲区直接传递给 fs.writeFile()
而无需调用 buffer.toString()
.