0
我正在將文件上傳到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);
});
感謝