【发布时间】:2014-07-06 08:49:31
【问题描述】:
我正在尝试分段读取文件:前 100 个字节,然后……
我正在尝试读取 /npm 文件的前 100 个字节:
app.post('/random', function(req, res) {
var start = req.body.start;
var fileName = './npm';
var contentLength = req.body.contentlength;
var file = randomAccessFile(fileName + 'read');
console.log("Start is: " + start);
console.log("ContentLength is: " + contentLength);
fs.open(fileName, 'r', function(status, fd) {
if (status) {
console.log(status.message);
return;
}
var buffer = new Buffer(contentLength);
fs.read(fd, buffer, start, contentLength, 0, function(err, num) {
console.log(buffer.toString('utf-8', 0, num));
});
});
输出是:
Start is: 0
ContentLength is: 100
以及下一个错误:
fs.js:457
binding.read(fd, buffer, offset, length, position, wrapper);
^
Error: Length extends beyond buffer
at Object.fs.read (fs.js:457:11)
at C:\NodeInst\node\FileSys.js:132:12
at Object.oncomplete (fs.js:107:15)
可能是什么原因?
【问题讨论】:
标签: javascript node.js