я пишу приложения на стороне сервера с express
& node.js.
Node.js и Экспресс/тела анализатор
У меня есть следующий:
app.configure(function() {
app.use(express.bodyParser());
});
Все работает хорошо, но:
Как Насколько я понимаю, этот метод устарел.
Следующий способ не работает. Он пишет несколько случайных символов, вместо того, чтобы писать правильные символы:
app.post('/randomWrite', function (req, res) { var fileName = req.body.name; var contentLength = parseInt(req.files.file._writeStream.bytesWritten); var start = parseInt(req.body.chunk) * 102400; var buffer = new Buffer(parseInt(req.files.file._writeStream.bytesWritten)); fs.open(req.files.file.path, 'r', function (status, fd) { if (fd == null) { console.log("Can't open the file with the fd"); return; } fileNameLocation = "./" + fileName; fs.open(fileNameLocation, 'w+', function (err, fd1) { fs.read(fd, buffer, 0, contentLength, start, function (err, bytesRead, buffer1) { if (err) console.log("ERROR: " + err); fs.write(fd1, buffer1, 0, contentLength, start, function (err, bytesWrite, buffer) { if (req.body.chunk == req.body.chunks - 1) { fs.close(fd, function (err) { }) fs.close(fd1, function (err) { }) FileServer.prototype.returnResCodeWithId(res, 200, id); } else { fs.close(fd, function (err) { }) fs.close(fd1, function (err) { }) FileServer.prototype.returnResCode(res, 200); } }) }) }) })
Вместо того чтобы писать в правильном смещение, кажется, что-то не так, и получить некоторый текст от промежуточного программного обеспечения (bodyParser) записываются.
Как я могу изменить express.bodyParser()? Это исправит мою проблему с написанием?
Спасибо, немного по-прежнему напишите некоторые случайные символы. существует проблема с 'fs.write' и' fs.read' этого метода? –