用node.js写一个简单的服务器,只使用了20行左右的代码,支持根据视频名字点播,视频文件和node.js文件放在同一目录下;
服务器代码如下:
var express = require('express'); var pg = require('pg'); var app = express(); var fs = require('fs'); app.get('/video', function (req, res) { var time = new Date(); var videoName = req.query.name; console.log("-------点击查询下载" + time.getFullYear() + "/" + time.getMonth() + "/" + time.getDate() + "/" + time.getHours() + "/" + time.getMinutes() + "/" + time.getSeconds() + "-------"); res.writeHead(200, {'Content-Type': 'video/mp4'}); var rs = fs.createReadStream(videoName + '.mp4'); rs.pipe(res); rs.on('end', function () { res.end(); console.log('end call'); }); }); var server = app.listen(8081, function () { var host = server.address().address; var port = server.address().port; console.log("应用实例,访问地址为 http://%s:%s", host, port); });测试播放html代码为
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>视频播放</title> </head> <body> <video width="320" height="240" controls="controls"> <source src="http://localhost:8081/video?name=123" type="video/mp4"> </video> </body> </html>结果为:
视频测试文件为123.mp4