文件说状态200 ok,但没有出现(node.js,expressjs)

时间:2017-07-18 21:40:27

标签: javascript node.js express

我有一个视频文件,我想在浏览器中显示视频。以后,我的前端可以调用此视频。

基本上我想像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时,视频不会显示,并且在查看网络选项卡时,它看起来已经加载了(因为状态是200 ok)。我也得到“错误”这个词通常在浏览器中出现

编辑:

在阅读我的网络标签时,我意识到该类型(用于视频)正在被读作文档

1 个答案:

答案 0 :(得分:0)

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