|
@@ -13,11 +13,9 @@ import (
|
|
|
"fmt"
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"io"
|
|
|
- "math/rand"
|
|
|
"os"
|
|
|
"path"
|
|
|
"strconv"
|
|
|
- "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -160,34 +158,34 @@ func (this *VideoController) AddVideo() {
|
|
|
return
|
|
|
}
|
|
|
var err error
|
|
|
- var coverSrc int
|
|
|
- permissions := strings.Split(req.PermissionIds, ",")
|
|
|
- permissionsId, err := strconv.Atoi(permissions[0])
|
|
|
- if err != nil {
|
|
|
- coverSrc = 0
|
|
|
- } else {
|
|
|
- var ids []int
|
|
|
- ids, err = models.GetImageIdByPermissionId(permissionsId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "上传视频失败"
|
|
|
- br.ErrMsg = "获取封面图片失败"
|
|
|
- return
|
|
|
- }
|
|
|
- if ids == nil || len(ids) == 0 {
|
|
|
- coverSrc = 0
|
|
|
- } else {
|
|
|
- rand.Seed(time.Now().UnixNano())
|
|
|
- // 从切片中随机选择一个元素
|
|
|
- randomIndex := rand.Intn(len(ids))
|
|
|
- coverSrc = ids[randomIndex]
|
|
|
- }
|
|
|
- }
|
|
|
+ //var coverSrc int
|
|
|
+ //permissions := strings.Split(req.PermissionIds, ",")
|
|
|
+ //permissionsId, err := strconv.Atoi(permissions[0])
|
|
|
+ //if err != nil {
|
|
|
+ // coverSrc = 0
|
|
|
+ //} else {
|
|
|
+ // var ids []int
|
|
|
+ // ids, err = models.GetImageIdByPermissionId(permissionsId)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "上传视频失败"
|
|
|
+ // br.ErrMsg = "获取封面图片失败"
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // if ids == nil || len(ids) == 0 {
|
|
|
+ // coverSrc = 0
|
|
|
+ // } else {
|
|
|
+ // rand.Seed(time.Now().UnixNano())
|
|
|
+ // // 从切片中随机选择一个元素
|
|
|
+ // randomIndex := rand.Intn(len(ids))
|
|
|
+ // coverSrc = ids[randomIndex]
|
|
|
+ // }
|
|
|
+ //}
|
|
|
audioInsert := &models.Media{
|
|
|
AuthorId: req.AnalystId,
|
|
|
AuthorName: req.AnalystName,
|
|
|
MediaType: models.Video,
|
|
|
Src: req.SrcUrl,
|
|
|
- CoverSrc: coverSrc,
|
|
|
+ CoverSrc: "",
|
|
|
MediaName: req.VideoName,
|
|
|
SourceType: "mp4",
|
|
|
MediaPlayMilliseconds: req.DurationMillisecond,
|
|
@@ -263,7 +261,7 @@ func (this *VideoController) EditVideo() {
|
|
|
br.Msg = "视频时长为空"
|
|
|
return
|
|
|
}
|
|
|
- if req.CoverSrcId <= 0 {
|
|
|
+ if req.CoverSrc == "" {
|
|
|
br.Msg = "封面为空"
|
|
|
return
|
|
|
}
|
|
@@ -273,7 +271,7 @@ func (this *VideoController) EditVideo() {
|
|
|
Id: req.VideoId,
|
|
|
AuthorId: req.AnalystId,
|
|
|
AuthorName: req.AnalystName,
|
|
|
- CoverSrc: req.CoverSrcId,
|
|
|
+ CoverSrc: req.CoverSrc,
|
|
|
Src: req.SrcUrl,
|
|
|
MediaName: req.VideoName,
|
|
|
MediaPlayMilliseconds: req.DurationMillisecond,
|
|
@@ -486,6 +484,87 @@ func getHeaderBoxInfo(data []byte) (boxHeader BoxHeader) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// UploadFile @Title 上传图片
|
|
|
+// @Description 上传视频
|
|
|
+// @Param File query file true "文件"
|
|
|
+// @Success 200 {object} models.ReportAuthorResp
|
|
|
+// @router /uploadFile [post]
|
|
|
+func (this *VideoController) UploadFile() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ f, h, err := this.GetFile("File")
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取资源信息失败"
|
|
|
+ br.ErrMsg = "获取资源信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer f.Close()
|
|
|
+ size, err := strconv.Atoi(utils.UPLOAD_IMG_SIZE)
|
|
|
+ if err != nil {
|
|
|
+ size = 100
|
|
|
+ }
|
|
|
+ if h.Size > 1024*1024*int64(size) {
|
|
|
+ br.Msg = fmt.Sprintf("图片大小不能超过%dK", size)
|
|
|
+ br.ErrMsg = "图片上传失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ ext := path.Ext(h.Filename)
|
|
|
+ //if ext != ".mp3" {
|
|
|
+ // br.Msg = "音频格式不正确"
|
|
|
+ // br.ErrMsg = "音频上传失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ dateDir := time.Now().Format("20060102")
|
|
|
+ uploadDir := utils.STATIC_DIR + "ht/audio" + dateDir
|
|
|
+ err = os.MkdirAll(uploadDir, utils.DIR_MOD)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "存储目录创建失败"
|
|
|
+ br.ErrMsg = "存储目录创建失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ randStr := utils.GetRandStringNoSpecialChar(28)
|
|
|
+ fileName := randStr + ext
|
|
|
+ fpath := uploadDir + "/" + fileName
|
|
|
+ err = this.SaveToFile("File", fpath)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "图片上传失败"
|
|
|
+ br.ErrMsg = "图片上传失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ audioUploadDir := utils.RESOURCE_DIR + "img/"
|
|
|
+ savePdfToOssPath := audioUploadDir + time.Now().Format("200601/20060102/")
|
|
|
+ audioName := utils.GetRandStringNoSpecialChar(28)
|
|
|
+ savePdfToOssPath += audioName + ext
|
|
|
+
|
|
|
+ defer func() {
|
|
|
+ err = os.Remove(fpath)
|
|
|
+ fmt.Sprintf("删除文件失败:%v", err)
|
|
|
+ }()
|
|
|
+ ossClient := services.NewOssClient()
|
|
|
+ if ossClient == nil {
|
|
|
+ br.Msg = "图片上传失败"
|
|
|
+ br.ErrMsg = "初始化OSS服务失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mp3Url, err := ossClient.UploadFile("", fpath, savePdfToOssPath)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "图片上传失败"
|
|
|
+ br.ErrMsg = "图片上传失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ base := path.Base(h.Filename)
|
|
|
+ resp := new(response.MediaUploadResp)
|
|
|
+ resp.Url = mp3Url
|
|
|
+ resp.FileName = base
|
|
|
+ br.Data = resp
|
|
|
+ br.Msg = "上传成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
// getFourccType 获取信息头类型
|
|
|
func getFourccType(boxHeader BoxHeader) (fourccType string) {
|
|
|
return string(boxHeader.FourccType[:])
|