深圳专业英文网站建设/百度关键词seo排名软件
关于EasyNVR中宣传位的设定,大家可以翻阅以前的博文了解一下(登录页如何实现插入产品广告位),宣传位的图片都是可以自由上传删减的。
我们在测试宣传位上传功能的时候,后台报错"Op":“open”,“Path”:XXXXXX。
这个报错信息提示是没法打开advert/images这个路径,有了之前问题的排查经验,我们可以从初始化数据库的地方入手,排查后果然发现是因为程序初始化时没有该文件夹,程序里没有判断这个文件夹存在或否,于是就出现了上述报错。
因此我们在以下代码处先判断文件夹是否存在,不存在就创建文件夹,这样就解决了上传宣传位图片报错。参考代码如下:
/**
新增广告图片
*/
func AddAdvert(c *gin.Context) {var advert models.Advertif err := c.ShouldBind(&advert); err != nil {c.AbortWithStatusJSON(400, err.Error())return}file, err := c.FormFile("file")if err != nil {c.AbortWithStatusJSON(400, err.Error())return}fileName := file.Filenameindex := strings.LastIndex(fileName, ".")str := fileName[0:index]//名字经md5加密防止名字相同name := utils.MD5(str) + fileName[index:]advert.Name = nameadvert.AdvertUrl = "/advert/" + namevar dest = ""if runtime.GOARCH == "arm" {dest = filepath.Join(utils.ExcelDataDir())} else {dest = filepath.Join(utils.AdvertDir(), fmt.Sprintf("%s", name))}err = c.SaveUploadedFile(file, dest)if err != nil {fmt.Errorf("保存上传文件错误, %v", err)c.AbortWithStatusJSON(400, err)return}models.DB.Save(&advert)c.JSON(200, gin.H{"advert": advert,})
}
解决效果:
上传宣传位图片成功。如果大家对EasyNVR视频平台还有疑问,欢迎大家进入我们演示平台观看预览,此外,TSINGSEE青犀视频云边端架构产品均可提供试用版本给大家测试,方便大家实际操作及开发。
EasyNVR视频平台播放界面如下,欢迎访问: