package admin import ( "github.com/gin-gonic/gin" "server/dao" "server/global" "server/model/common/response" ) type FileApi struct{} func (fa *FileApi) QueryFileGenre(c *gin.Context) { genre, err := fileService.QueryFileGenre() if err != nil { response.FailWithMessage("失败", c) global.GVA_LOG.Error("QueryFileGenre ======= " + err.Error()) return } response.OkWithData(genre, c) } func (fa *FileApi) CreateFileGenre(c *gin.Context) { var fileGenre dao.FileGenre err := c.ShouldBindJSON(&fileGenre) if err != nil { response.FailWithMessage("失败", c) global.GVA_LOG.Error("CreateFileGenre ====== " + err.Error()) return } err = fileService.CreateFileGenre(fileGenre) if err != nil { response.FailWithMessage("失败", c) global.GVA_LOG.Error("CreateFileGenre ====== " + err.Error()) return } response.OkWithMessage("新增成功", c) } func (fa *FileApi) UpdateFileGenre(c *gin.Context) { var fileGenre dao.FileGenre err := c.ShouldBindJSON(&fileGenre) if err != nil { response.FailWithMessage("失败", c) global.GVA_LOG.Error("UpdateFileGenre ====== " + err.Error()) return } err = fileService.UpdateFileGenre(fileGenre) if err != nil { response.FailWithMessage("失败", c) global.GVA_LOG.Error("UpdateFileGenre ====== " + err.Error()) return } response.OkWithMessage("修改成功", c) } func (fa *FileApi) DeleteFileGenre(c *gin.Context) { var fileGenre dao.FileGenre err := c.ShouldBindJSON(&fileGenre) if err != nil { response.FailWithMessage("失败", c) global.GVA_LOG.Error("DeleteFileGenre ====== " + err.Error()) return } err = fileService.DeleteFileGenre(fileGenre) if err != nil { response.FailWithMessage("失败", c) global.GVA_LOG.Error("DeleteFileGenre ====== " + err.Error()) return } response.OkWithMessage("删除成功", c) } func (fa *FileApi) FileDownload(c *gin.Context) { path := c.Query("path") name := c.Query("name") c.Header("Content-Type", "application/octet-stream") // 表示是文件流,唤起浏览器下载,一般设置了这个,就要设置文件名 c.Header("Content-Disposition", "attachment; filename="+name) // 用来指定下载下来的文件名 c.Header("Content-Transfer-Encoding", "binary") // 表示传输过程中的编码形式,乱码问题可能就是因为它 c.File(path) response.Ok(c) }