我正在使用节点和表达。我希望控制对视频文件的访问权限,使它们驻留在公共文件夹中(这样它们可以提供给客户端),但是非授权用户也无法通过浏览器上的URL直接访问。< / p>
我想使用通常的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检查是否允许用户访问videos文件夹中的任何文件。
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功能的app配置中,我添加了一个“未经授权的视频访问”错误处理部分。
非常感谢
答案 0 :(得分:0)
将其声明为静态资源文件夹:
app.use(express.static(__dirname + 'videos/'));
示例:
videos/
├── vid1
│
├── vid2
│
└── vid3
public/
├── css/
│ ├── ...
│ └── ...
├── js/
│ ├── ...
│ └── ...
└── img/
├── ...
└── ....