作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯团队中之前的文件下载做得比较复杂,因为担心量太大,是后台做异步的下载,最终生成文件,传送文件到CDN服务器,最后再告诉用户下载链接。其实在查询接口中就可以实现流式下载,这样查询接口和下载接口可以合二为一,更加简单。下面是我的demo:1.建立一个download_file的文件夹作为项目文件夹gomodinitdownload_file2.生成go.mod文件,并准备对应的包:gogetgithub.com/gin-gonic/gin@latestgogetgit
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯团队中之前的文件下载做得比较复杂,因为担心量太大,是后台做异步的下载,最终生成文件,传送文件到CDN服务器,最后再告诉用户下载链接。其实在查询接口中就可以实现流式下载,这样查询接口和下载接口可以合二为一,更加简单。下面是我的demo:1.建立一个download_file的文件夹作为项目文件夹gomodinitdownload_file2.生成go.mod文件,并准备对应的包:gogetgithub.com/gin-gonic/gin@latestgogetgit
渲染模板我的客服系统后端使用的golangGin框架,想把页面渲染出来,下面就是加载html模板页面packagerouterfuncInitViewRouter(engine*gin.Engine){//关于页面engine.GET("/aboutus.html",func(c*gin.Context){c.HTML(http.StatusOK,"aboutus.html",gin.H{"nav":"aboutus",})})//演示页面engine.GET("/show.html",func(c*gin.Context){c.HTML(http.StatusOK,"show.html",g
渲染模板我的客服系统后端使用的golangGin框架,想把页面渲染出来,下面就是加载html模板页面packagerouterfuncInitViewRouter(engine*gin.Engine){//关于页面engine.GET("/aboutus.html",func(c*gin.Context){c.HTML(http.StatusOK,"aboutus.html",gin.H{"nav":"aboutus",})})//演示页面engine.GET("/show.html",func(c*gin.Context){c.HTML(http.StatusOK,"show.html",g
在我的客服系统项目中,我使用的gin框架没有自带session功能,需要经过下面的整合处理使用的是 github.com/gin-contrib/sessions在我的tools包下packagetoolsimport("github.com/gin-contrib/sessions""github.com/gin-contrib/sessions/cookie""github.com/gin-gonic/gin")//中间件,处理sessionfuncSession(keyPairsstring)gin.HandlerFunc{store:=SessionConfig()returnses
在我的客服系统项目中,我使用的gin框架没有自带session功能,需要经过下面的整合处理使用的是 github.com/gin-contrib/sessions在我的tools包下packagetoolsimport("github.com/gin-contrib/sessions""github.com/gin-contrib/sessions/cookie""github.com/gin-gonic/gin")//中间件,处理sessionfuncSession(keyPairsstring)gin.HandlerFunc{store:=SessionConfig()returnses
我的客服系统有一些接口是专门给内部调用的,只允许其他内部系统来调用,不允许随意访问,可以使用IP白名单机制使用Gin框架实现IP白名单机制可以使用中间件的方式实现。你可以编写一个中间件函数,在每个请求到来时检查它的IP地址是否在白名单中,如果不在,则返回错误信息。例如,你可以这样编写中间件函数:funcIPWhiteList(whitelist[]string)gin.HandlerFunc{returnfunc(c*gin.Context){//获取请求的IP地址ip:=c.ClientIP()//检查IP地址是否在白名单中allowed:=falsefor_,value:=rangewhi
我的客服系统有一些接口是专门给内部调用的,只允许其他内部系统来调用,不允许随意访问,可以使用IP白名单机制使用Gin框架实现IP白名单机制可以使用中间件的方式实现。你可以编写一个中间件函数,在每个请求到来时检查它的IP地址是否在白名单中,如果不在,则返回错误信息。例如,你可以这样编写中间件函数:funcIPWhiteList(whitelist[]string)gin.HandlerFunc{returnfunc(c*gin.Context){//获取请求的IP地址ip:=c.ClientIP()//检查IP地址是否在白名单中allowed:=falsefor_,value:=rangewhi
Gin框架实战——HTML渲染最近使用Go的Gin框架做了个简单的前端网页,记录一下细节~1.加载静态文件 由于网页需要使用css、图片等渲染,而静态文件必须先声明:否则模板中调用加载不出来,这个很重要,即使你把文件放到对应路径下,html中也写了相应的路径,但是开启go服务端的网页,会显示不出来样式、图片等。因此需要加载静态文件。//Default返回一个默认的路由r:=gin.Default()r.StaticFS("/public",http.Dir("D:\\Gotest\\web1\\web\\static"))//相当于更换路径。加载静态文件r.StaticFS("/fo
Gin框架实战——HTML渲染最近使用Go的Gin框架做了个简单的前端网页,记录一下细节~1.加载静态文件 由于网页需要使用css、图片等渲染,而静态文件必须先声明:否则模板中调用加载不出来,这个很重要,即使你把文件放到对应路径下,html中也写了相应的路径,但是开启go服务端的网页,会显示不出来样式、图片等。因此需要加载静态文件。//Default返回一个默认的路由r:=gin.Default()r.StaticFS("/public",http.Dir("D:\\Gotest\\web1\\web\\static"))//相当于更换路径。加载静态文件r.StaticFS("/fo