leveldb-demo/handler/file-handler.go

58 lines
1.1 KiB
Go

package handler
import (
"io/ioutil"
"github.com/gin-gonic/gin"
"myschools.me/suguo/leveldb-demo/service"
"myschools.me/yyjishu/yy-base/yy"
)
func FileUpload(c *gin.Context) {
reqid := yy.NewRequestID()
fs, fh, err := c.Request.FormFile("file")
if err != nil {
yy.RespBadRequest(c, "上传文件获取失败", err, &reqid)
return
}
defer fs.Close()
payload, err := ioutil.ReadAll(fs)
if err != nil {
yy.RespBadRequest(c, "上传文件中断", err, &reqid)
return
}
if fh.Header.Get("Content-Type") != "image/png" {
yy.RespBadRequest(c, "文件类型不支持", nil, &reqid)
return
}
ret, err := service.FileUpload(&payload)
if err != nil {
yy.RespInternalServerError(c, "上传失败", err, &reqid)
return
}
yy.RespSuccess(c, "ok", gin.H{
"id": *ret,
}, &reqid)
}
func FileGet(c *gin.Context) {
reqid := yy.NewRequestID()
id := c.Param("id")
data, err := service.FileGet(&id)
if err != nil {
yy.RespInternalServerError(c, "获取文件失败", err, &reqid)
return
}
c.Writer.Write(*data)
c.Writer.Flush()
}
func FileUpdate(c *gin.Context) {
}
func FileDelete(c *gin.Context) {
}