流式传输 MEAN 堆栈时,Get 方法被调用 n 次
Get method gets called n number of times when streaming MEAN stack
我有一个 MEAN 堆栈,当前端调用 url 像 /movies/KN3MJQR.mp4,
routes.js 中的 get 块看起来像这样
app.get('/movie/:url', function(req, res) {
try {
var url = req.url.split('/')[2]
res.sendfile(moviesFolder + url);
#i want to add my logic for incrementing view count here.
} catch (e) {
console.log(e);
}
});
我想添加逻辑,以便在对 .mp4 提出请求时增加每部电影的观看次数。我尝试在代码中注释的地方添加增量视图计数逻辑,如上所示,结果发现整个 get 方法在流式传输发生时被调用了 n 次。我该如何处理这个逻辑?
更新:检查与@rsp
回答相同的代码
if(req.get('Range')===('bytes=0-')){
console.log('first call');
}else{
console.log('further call');
}
端点可以多次命中,因为res.sendfile()
支持范围,客户端可以多次下载部分数据。
您可以使用 req.get('Range')
检查相关的 header 并查看它是第一部分还是最后一部分(取决于您是要计算每个开始的下载还是只计算完成的下载)。
有关 header 的更多信息,请参阅:
我有一个 MEAN 堆栈,当前端调用 url 像 /movies/KN3MJQR.mp4,
routes.js 中的 get 块看起来像这样
app.get('/movie/:url', function(req, res) {
try {
var url = req.url.split('/')[2]
res.sendfile(moviesFolder + url);
#i want to add my logic for incrementing view count here.
} catch (e) {
console.log(e);
}
});
我想添加逻辑,以便在对 .mp4 提出请求时增加每部电影的观看次数。我尝试在代码中注释的地方添加增量视图计数逻辑,如上所示,结果发现整个 get 方法在流式传输发生时被调用了 n 次。我该如何处理这个逻辑?
更新:检查与@rsp
回答相同的代码if(req.get('Range')===('bytes=0-')){
console.log('first call');
}else{
console.log('further call');
}
端点可以多次命中,因为res.sendfile()
支持范围,客户端可以多次下载部分数据。
您可以使用 req.get('Range')
检查相关的 header 并查看它是第一部分还是最后一部分(取决于您是要计算每个开始的下载还是只计算完成的下载)。
有关 header 的更多信息,请参阅: