58 lines
1.1 KiB
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) {
|
|
|
|
}
|