Feat: create SFC for oss callback

This commit is contained in:
HFO4
2020-03-01 16:25:56 +08:00
parent e8c4660c38
commit c30c19ca3e
12 changed files with 229 additions and 3 deletions

View File

@@ -183,3 +183,14 @@ func AdminAddCORS(c *gin.Context) {
c.JSON(200, ErrorResponse(err))
}
}
// AdminAddCORS 创建跨域策略
func AdminAddSCF(c *gin.Context) {
var service admin.PolicyService
if err := c.ShouldBindJSON(&service); err == nil {
res := service.AddSCF()
c.JSON(200, res)
} else {
c.JSON(200, ErrorResponse(err))
}
}

View File

@@ -8,6 +8,7 @@ import (
"github.com/HFO4/cloudreve/pkg/filesystem"
"github.com/HFO4/cloudreve/pkg/filesystem/driver/local"
"github.com/HFO4/cloudreve/pkg/filesystem/fsctx"
"github.com/HFO4/cloudreve/pkg/request"
"github.com/HFO4/cloudreve/pkg/serializer"
"github.com/HFO4/cloudreve/service/explorer"
"github.com/gin-gonic/gin"
@@ -276,6 +277,7 @@ func FileUploadStream(c *gin.Context) {
// 非可用策略时拒绝上传
if user, ok := c.Get("user"); ok && !user.(*model.User).Policy.IsTransitUpload(fileSize) {
request.BlackHole(c.Request.Body)
c.JSON(200, serializer.Err(serializer.CodePolicyNotAllowed, "当前存储策略无法使用", nil))
return
}

View File

@@ -6,6 +6,7 @@ import (
model "github.com/HFO4/cloudreve/models"
"github.com/HFO4/cloudreve/pkg/authn"
"github.com/HFO4/cloudreve/pkg/qq"
"github.com/HFO4/cloudreve/pkg/request"
"github.com/HFO4/cloudreve/pkg/serializer"
"github.com/HFO4/cloudreve/pkg/thumb"
"github.com/HFO4/cloudreve/pkg/util"
@@ -298,6 +299,7 @@ func UploadAvatar(c *gin.Context) {
// 取得头像上传大小限制
maxSize := model.GetIntSetting("avatar_size", 2097152)
if c.Request.ContentLength == -1 || c.Request.ContentLength > int64(maxSize) {
request.BlackHole(c.Request.Body)
c.JSON(200, serializer.Err(serializer.CodeUploadFailed, "头像尺寸太大", nil))
return
}

View File

@@ -334,8 +334,10 @@ func InitMasterRouter() *gin.Engine {
policy.POST("test/slave", controllers.AdminTestSlave)
// 创建存储策略
policy.POST("", controllers.AdminAddPolicy)
// 创建存储策略
// 创建跨域策略
policy.POST("cors", controllers.AdminAddCORS)
// 创建COS回调函数
policy.POST("scf", controllers.AdminAddSCF)
}
}