0
我寫與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'有問題嗎? –