Nodejs通过createReadStream创建的下载,如何判断下载结束?

直接上代码说明吧:
var path=__dirname+"/upload/"+service_code+".zip";
var fs = require("fs");
var f = fs.createReadStream(path);
res.writeHead(200, {
'Content-Type': 'application/force-download',
'Content-Disposition': 'attachment; filename='+service_code+".zip"
});
f.pipe(res);
var data;
f.on('data', function(chunk) {
data += chunk;
});

//重点在这行。这个通知函数表示下载已结束。如果在下载结束后要进行一些操作,可以在这里进行。


f.on('end',function(){
console.log(data.length);
});

f.on('error', function(err){
res.write(err.stack);
res.end("未知的错误,错误号:0x00001。");
console.log("download error.",err.stack);
});