戳蓝色字“编程者联盟”关注我们哟!
需求:
1、通过HTML<video>标签可以播放指定的视频
2、前后端分离,接口只返回视频播放地址
3、使用Golang语言的gin框架实现
实现思路:
1、Gin框架做接口端,返回视频文件(本质上就是下载视频文件接口)
2、<video>标签中的src地址填写视频下载地址,通过Chrome在线播放
准备材料:
1、golang gin框架
2、一个mp4视频文件(go.mp4)
项目目录:
Go代码:
package main
/*
gin框架实现文件下载功能
*/
import (
"fmt"
"github.com/gin-gonic/gin"
"path"
)
//主函数
func main() {
r := gin.Default()
//Get路由,动态路由
r.GET("/getvideo/:name", DowFile)
//监听端口
err:=r.Run(":80")
if err!=nil{
fmt.Println("error")
}
}
//文件下载功能实现
func DowFile(c *gin.Context) {
//通过动态路由方式获取文件名,以实现下载不同文件的功能
name:=c.Param("name")
//拼接路径,如果没有这一步,则默认在当前路径下寻找
filename:=path.Join("./",name)
//响应一个文件
c.File(filename)
return
}
/*
注:
1、运行以上代码,直接通过浏览器访问:http://localhost/getvideo/go.mp4
可以看一个视频播放窗口,直接点播放即可以播放。需要说明的是,整个实现思路就是
使用gin框架的文件下载功能,实现在视频的在线播放,将url嵌入h5等价于h5直接打开本地视频文件。
2、url中的pgs.mp4就是服务端本地的文件,把文件格式改成exe或csv等,通过浏览器访问则可以
实现文件下载功能。因为chrome可以直接播放mp4,所以请求以上url则会打开一个播放窗口。
*/
HTML<video>标签代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>在线视频播放示例</title>
</head>
<body>
<video width="420" height="340" controls>
<source src="http://localhost/getvideo/go.mp4" type="video/ogg">
</video>
</body>
</html>
实现效果:
长按识别二维码,了解更多
回顾往期内容
可点击下方“阅读原文”了解更多
文章评论