mirror of
https://gitee.com/xiangheng/x_admin.git
synced 2025-10-16 05:00:43 +08:00
55 lines
1.6 KiB
Go
55 lines
1.6 KiB
Go
package commonService
|
|
|
|
import (
|
|
"mime/multipart"
|
|
|
|
"x_admin/plugin"
|
|
"x_admin/schema/commonSchema"
|
|
"x_admin/util/convert_util"
|
|
)
|
|
|
|
type IUploadService interface {
|
|
UploadImage(file *multipart.FileHeader, cid uint, aid uint) (res commonSchema.CommonUploadFileResp, e error)
|
|
UploadVideo(file *multipart.FileHeader, cid uint, aid uint) (res commonSchema.CommonUploadFileResp, e error)
|
|
}
|
|
|
|
var UploadService = NewUploadService()
|
|
|
|
// NewUploadService 初始化
|
|
func NewUploadService() *uploadService {
|
|
return &uploadService{}
|
|
}
|
|
|
|
// uploadService 上传服务实现类
|
|
type uploadService struct{}
|
|
|
|
// UploadImage 上传图片
|
|
func (upSrv uploadService) UploadImage(file *multipart.FileHeader, cid uint, aid uint) (res commonSchema.CommonUploadFileResp, e error) {
|
|
return upSrv.uploadFile(file, "image", 10, cid, aid)
|
|
}
|
|
|
|
// UploadVideo 上传视频
|
|
func (upSrv uploadService) UploadVideo(file *multipart.FileHeader, cid uint, aid uint) (res commonSchema.CommonUploadFileResp, e error) {
|
|
return upSrv.uploadFile(file, "video", 20, cid, aid)
|
|
}
|
|
|
|
// uploadFile 上传文件
|
|
func (upSrv uploadService) uploadFile(file *multipart.FileHeader, folder string, fileType int, cid uint, aid uint) (res commonSchema.CommonUploadFileResp, e error) {
|
|
var upRes *plugin.UploadFile
|
|
if upRes, e = plugin.StorageDriver.Upload(file, folder, fileType); e != nil {
|
|
return
|
|
}
|
|
var addReq commonSchema.CommonAlbumAddReq
|
|
convert_util.Copy(&addReq, upRes)
|
|
addReq.Aid = aid
|
|
addReq.Cid = cid
|
|
var albumId uint
|
|
if albumId, e = AlbumService.AlbumAdd(addReq); e != nil {
|
|
return
|
|
}
|
|
convert_util.Copy(&res, addReq)
|
|
res.ID = albumId
|
|
res.Path = upRes.Path
|
|
return res, nil
|
|
}
|