ecm

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2024 License: MIT Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// MultiPartUploadThreshold 服务端使用分片上传的阈值
	MultiPartUploadThreshold uint64 = 5 * (1 << 30) // 5GB
	// VersionID 文件版本标识
	VersionID key = iota
)
View Source
const RedisECMPre = "ecm_"

Variables

This section is empty.

Functions

func GetEcmUserLoginIntegrationByUserLoginName

func GetEcmUserLoginIntegrationByUserLoginName(urlHost, secretKey string) (string, error)

func GetEcmUserLoginIntegrationByUserLoginNameV1

func GetEcmUserLoginIntegrationByUserLoginNameV1(c *gin.Context, urlHost, secretKey string) (string, error)

GetEcmToken

TODO: 获取 token,存在漏洞,当token在接口调试的过程中,通过接口获取token一定会被替换掉,则toke无法使用;
1、需要手动删除redis 中的token缓存才能生效
⚠️:正式环境上线后,不允许手动调用token接口进行调试, 除非添加 token 校验策略: 用于判断token的有效性;

func GetPublicKey

func GetPublicKey(r *http.Request) ([]byte, error)

GetPublicKey 从回调请求或缓存中获取OSS的回调签名公钥

func GetPublicKeyV1

func GetPublicKeyV1(r *http.Request) ([]byte, error)

GetPublicKeyV1 从回调请求或缓存中获取OSS的回调签名公钥

func UploadPath2Ecm

func UploadPath2Ecm(fileByte []byte, uploadId, sessionID string) (string, error)

ECM 分片上传文件

func VerifyCallbackSignature

func VerifyCallbackSignature(r *http.Request) error

VerifyCallbackSignature 验证OSS回调请求

Types

type CallbackPolicy

type CallbackPolicy struct {
	CallbackURL      string `json:"callbackUrl"`
	CallbackBody     string `json:"callbackBody"`
	CallbackBodyType string `json:"callbackBodyType"`
}

CallbackPolicy 回调策略

type Driver

type Driver struct {
	Policy *model.Policy

	HTTPClient request.Client
	UrlVal     url.Values
	GinCtx     *gin.Context
	ReqParm    cqe.CreateUploadSessionService
	// contains filtered or unexported fields
}

Driver ECM策略适配器

func NewDriver

func NewDriver(policy *model.Policy, req cqe.CreateUploadSessionService, GinC *gin.Context) (*Driver, error)

func (*Driver) CORS

func (handler *Driver) CORS() error

CORS 创建跨域策略

func (*Driver) CancelToken

func (handler *Driver) CancelToken(ctx context.Context, uploadSession *serializer.UploadSession) error

取消上传凭证

func (*Driver) Delete

func (handler *Driver) Delete(ctx context.Context, files []string) ([]string, error)

Delete 删除一个或多个文件, 返回未删除的文件

func (*Driver) Get

func (handler *Driver) Get(ctx context.Context, path string) (response.RSCloser, error)

Get 获取文件

func (*Driver) InitECMClient

func (handler *Driver) InitECMClient(forceUsePublicEndpoint bool, cuss cqe.CreateUploadSessionService) error

InitECMClient 初始化ECM鉴权客户端

func (*Driver) List

func (handler *Driver) List(ctx context.Context, base string, recursive bool) ([]response.Object, error)

List 列出ECM上的文件

func (*Driver) Put

func (handler *Driver) Put(ctx context.Context, file fsctx.FileHeader) error

Put 将文件流保存到指定目录

func (*Driver) Source

func (handler *Driver) Source(ctx context.Context, path string, url url.URL, ttl int64, isDownload bool, speed int) (string, error)

func (*Driver) Thumb

func (handler *Driver) Thumb(ctx context.Context, path string) (*response.ContentResponse, error)

Thumb 获取文件缩略图

func (*Driver) Token

func (handler *Driver) Token(ctx context.Context, ttl int64, uploadSession *serializer.UploadSession, file fsctx.FileHeader) (*serializer.UploadCredential, error)

Token 获取上传策略和认证Token

type UploadPolicy

type UploadPolicy struct {
	Expiration string        `json:"expiration"`
	Conditions []interface{} `json:"conditions"`
}

UploadPolicy ECM上传策略

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL