package svc import ( "time" "applet/app/db" "applet/app/db/model" "applet/app/md" "applet/app/utils" "github.com/gin-gonic/gin" ) func FileSave(c *gin.Context, f *md.FileCallback) error { // todo 校验时间是否超时, 目前没必要做时间校验,如果已经上传,但超时,那么会造成三方存储存在,可我方表不存在,导致冗余 // 校验签名是否正确 //if qiniu.Sign(f.Time) != f.Sign { // return e.NewErrCode(e.ERR_SIGN) //} newFile := &model.SysFile{ ParentFid: utils.StrToInt64(f.DirId), FileType: 1, ShowName: f.FileName, SaveName: f.FileName, Uid: utils.StrToInt(f.Uid), Ext: utils.FileExt(f.FileName), Hash: f.Hash, Mime: f.Mime, Provider: f.Provider, Width: utils.StrToInt(f.Width), Height: utils.StrToInt(f.Height), Bucket: f.Bucket, FileSize: utils.StrToInt64(f.FileSize), CreateAt: int(time.Now().Unix()), } file, _ := db.FileGetByPFidAndName(db.DBs[c.GetString("mid")], f.DirId, f.FileName) if file != nil { newFile.Fid = file.Fid // 更新数据 return db.FileUpdate(db.DBs[c.GetString("mid")], newFile) } return db.FileInsert(db.DBs[c.GetString("mid")], newFile) }