| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package task
- import (
- "log-server/global"
- "log-server/model/task/response"
- "log-server/utils/upload"
- "mime/multipart"
- "strings"
- )
- type UploadFileService struct {
- }
- func (e *UploadFileService) Upload(file response.UploadFileResponse) error {
- return global.GVA_DB.Table("upload_file").Create(&file).Error
- }
- func (e *UploadFileService) UploadFile(gameId int, header *multipart.FileHeader) (file response.UploadFileResponse, err error) {
- //查询数据库记录数
- var count int64
- //获取最后一条记录
- var lastRecord response.UploadFileResponse
- var version int
- oss := upload.NewOss()
- filePath, key, uploadErr := oss.UploadFile(header)
- if uploadErr != nil {
- panic(err)
- }
- global.GVA_DB.Table("upload_file").Count(&count)
- if count == 0 {
- version = 1
- } else {
- global.GVA_DB.Table("upload_file").Last(&lastRecord)
- version = lastRecord.Version + 1
- }
- s := strings.Split(header.Filename, ".")
- f := response.UploadFileResponse{
- GameID: gameId,
- Url: filePath,
- Name: header.Filename,
- Tag: s[len(s)-1],
- Key: key,
- Version: version,
- }
- return f, e.Upload(f)
- }
|