我正在使用节点和快递。我想控制对视频文件的访问,使其驻留在公用文件夹中(以便可以将它们提供给客户端),但非授权用户也不能通过浏览器上的 url 直接访问它们。
我想使用通常的 html5 视频标签将视频提供给客户端:
<video width="320" height="240" controls>
<source src="mp4 video file" type="video/mp4">
<source src="ogg video file" type="video/ogg">
Your browser does not support the video tag.
</video>
这可能吗?如何实施?谢谢
----------------------- 以这种方式解决: ---------
使用中间件解决了它。虽然它会比我简单得多。
我将文件放在了我的应用程序公共文件夹中的视频文件夹中。虽然我将此行添加到我的 application.js 文件中:
app.get('/videos/*', authenticationFunction(), function(req, res, next) {
next();
});
authenticationFunction 检查是否允许用户访问视频文件夹中的任何文件。
authenticationFunction 如下所示:
var authenticationFunction = function(){
return function(req, res, next) {
if(the user is authorized to access the files){
return next();
} else{
return next(new Error('unauthorized video access'));
}
}
}
最后,在 app.use 函数的应用配置中,我添加了“未经授权的视频访问”错误处理部分。
不管怎么说,还是要谢谢你