12345678910111213141516171819202122232425262728293031323334353637 |
- package admin
- import (
- "fmt"
- "strings"
- "time"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/config"
- "zhiyuan/pkg/utils"
- "github.com/gin-gonic/gin"
- "github.com/qiniu/go-sdk/v7/auth"
- "github.com/qiniu/go-sdk/v7/storage"
- )
- func QiniuToken(c *gin.Context) {
- fileType := strings.ToLower(c.Query("file_type"))
- /*if fileType != "jpg" && fileType != "png" && fileType != "pdf" && fileType != "docx" && fileType != "svg" && fileType != "mp4" {
- app.Error(c, "文件后缀有误")
- return
- }*/
- var fsizeLimit int64 = 1024 * 1024 * 100
- if fileType == "mp4" {
- fsizeLimit = 1024 * 1024 * 30
- }
- key := utils.ToStr(time.Now().UnixNano()) + string(utils.RandomCreateBytes(10, utils.RAND_KIND_NUM)) + "." + fileType
- putPolicy := storage.PutPolicy{
- Scope: fmt.Sprintf("%s:%s", config.Cfg.Qiniu.Bucket, key),
- FsizeLimit: fsizeLimit,
- }
- mac := auth.New(config.Cfg.Qiniu.AccessKey, config.Cfg.Qiniu.SecretKey)
- upToken := putPolicy.UploadToken(mac)
- app.Success(c, gin.H{
- "token": upToken,
- "key": key,
- })
- }
|