12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package http
- import (
- "fmt"
- "io/ioutil"
- "net/http"
- "time"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- )
- func upload(c *bm.Context) {
- file, _, err := c.Request.FormFile("file")
- if err != nil {
- log.Error("FormFile err(%v)", err)
- httpCode(c, fmt.Sprintf("File Upload FormFile Error:(%v)", err), ecode.RequestErr)
- return
- }
- defer file.Close()
- content, err := ioutil.ReadAll(file)
- if err != nil {
- log.Error(" uploadFile.ReadAll error(%v)", err)
- httpCode(c, fmt.Sprintf("File ioutil.ReadAll Error:(%v)", err), ecode.RequestErr)
- return
- }
- filetype := http.DetectContentType(content)
- switch filetype {
- case "image/jpeg", "image/jpg":
- case "image/gif":
- case "image/png":
- case "application/zip":
- default:
- httpCode(c, fmt.Sprintf("not allow filetype(%s)", filetype), ecode.RequestErr)
- log.Warn("not allow filetype(%s) ", filetype)
- return
- }
- local, err := svc.Upload(c, "", filetype, time.Now().Unix(), content)
- if err != nil {
- log.Error("svc.Upload error(%v)", err)
- httpCode(c, fmt.Sprintf("svc.Upload error:(%v)", err), ecode.RequestErr)
- return
- }
- c.JSON(local, nil)
- }
|