Я загружаю файл на сервер Node.js Restify, и я пытаюсь отправить клиентскую информацию о ходе выполнения.Загрузить прогресс с помощью Node.js Restify
В моем примере ниже файл загружается успешно, но точки прогресса (.) Не отображаются до тех пор, пока весь файл не будет загружен и не отправлен res.end().
Возможно ли записать поток ответов и отправить информацию о состоянии на клиент?
var restify = require('restify');
var fs = require('fs');
function uploadFile(req, res, next) {
var path = req.params.devicename;
var filename = req.params.filename;
console.log("Upload file");
var writeStream = fs.createWriteStream(path + "/" + filename);
var r = req.pipe(writeStream);
res.writeHead(200, {"Content-type":"text/plain"});
r.on("drain", function() {
res.write(".", "ascii");
});
r.on("finish", function() {
console.log("Upload complete");
res.write("Upload complete");
res.end();
});
next();
}
// *************** start Restify server *********************
var server = restify.createServer();
server.post('/api/uploadfile/:devicename/:filename', uploadFile);
server.listen(8080, function() {
console.log('%s listening at %s', server.name, server.url);
});
Благодаря