2017-07-18 89 views
0

我有一个视频文件,我想将其作为视频显示给浏览器。以后,我的前端可以调用这个视频。文件表示状态200正常,但未显示(node.js,expressjs)

基本上我想访问喜欢的API我的影片,所以在我的前端,如果我有

<video> 
    <source ="video/randomfile.mov" type="video/mov"> 
</video> 

,它将使该文件,这里是我的项目结构:

app.js 
public -> videos -> video1.mov, video2.mov, video3.mov 
views -> html files 
node modules 

这里是我的代码:

const express = require("express"); 
const app = express(); 
const bodyParser = require("body-parser"); 
app.set('views', __dirname + '/views'); 
app.use("/", express.static(__dirname + '/public')); 
app.set('view engine', 'ejs'); 

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 


app.get("/videos/:name",function(req,res){ 
    let name = req.params.name; 
    res.send("<video> <source src='"+name+"' type='video/mov' height='600px' width='700px'> </video>") 
}) 


app.listen(port); 

但是,当进入localhost:3000/videos/video1.mov时,视频d oes不显示,看着网络标签,它看起来像已经加载(因为状态是200好)。我也获得了这个词“错误”,其中通常会在浏览器中

编辑:在阅读我的网络选项卡

我意识到,(用于视频)的类型被解读为一个文件

+0

浏览器不支持.mov格式。您需要将视频转换为适当的格式。 – karthick

回答

0

.mov不适用于视频标签。您需要转换为WebM,Ogg,mp4等,然后重新上传资源并以正确的格式引用新资源。这里是一个可接受的格式链接:HTML5 video formats