56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
|
package http
|
||
|
|
||
|
import (
|
||
|
"io/ioutil"
|
||
|
"net/http"
|
||
|
|
||
|
"go-common/library/ecode"
|
||
|
"go-common/library/log"
|
||
|
bm "go-common/library/net/http/blademaster"
|
||
|
"go-common/library/net/http/blademaster/render"
|
||
|
)
|
||
|
|
||
|
func clientUpload(c *bm.Context) {
|
||
|
var (
|
||
|
req = c.Request
|
||
|
md5 string
|
||
|
url string
|
||
|
)
|
||
|
req.ParseMultipartForm(int64(bfsSvc.BfsMaxSize))
|
||
|
file, _, err := req.FormFile("file")
|
||
|
if err != nil {
|
||
|
log.Error("c.Request().FormFile(\"file\") error(%v) | ", err)
|
||
|
c.JSON(nil, ecode.RequestErr)
|
||
|
return
|
||
|
}
|
||
|
bs, err := ioutil.ReadAll(file)
|
||
|
file.Close()
|
||
|
if err != nil {
|
||
|
log.Error("ioutil.ReadAll(c.Request().Body) error(%v)", err)
|
||
|
c.JSON(nil, ecode.RequestErr)
|
||
|
return
|
||
|
}
|
||
|
if md5, err = bfsSvc.FileMd5(bs); err != nil {
|
||
|
log.Error("bfsSvc.FileMd5 error(%v)", err)
|
||
|
c.JSON(nil, ecode.RequestErr)
|
||
|
return
|
||
|
}
|
||
|
ftype := http.DetectContentType(bs)
|
||
|
//if model.IsCoverType(ftype) {
|
||
|
// log.Error("filetype not allow file type(%s)", ftype)
|
||
|
// renderErrMsg(c, ecode.RequestErr.Code(), "文件上传错误:图片类型错误")
|
||
|
// return
|
||
|
//}
|
||
|
if url, err = bfsSvc.ClientUpCover(c, ftype, bs); err != nil {
|
||
|
log.Error("bfsSvc.ClientUpCover error(%v)", err)
|
||
|
c.JSON("文件上传错误:"+err.Error(), ecode.RequestErr)
|
||
|
return
|
||
|
}
|
||
|
data := map[string]interface{}{
|
||
|
"url": url,
|
||
|
"md5": md5,
|
||
|
"size": len(bs),
|
||
|
}
|
||
|
c.Render(http.StatusOK, render.MapJSON(data))
|
||
|
}
|