github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/uptoken/doc.go (about) 1 // Package uptoken 提供七牛云对象存储的上传凭证管理。 2 // 3 // 上传凭证(Upload Token)用于授权客户端上传文件到指定存储空间。 4 // 通过 [PutPolicy] 定义上传策略,再用 [NewSigner] 生成签名后的凭证。 5 // 6 // # 创建上传策略 7 // 8 // // 允许上传到整个存储空间 9 // putPolicy, err := uptoken.NewPutPolicy("my-bucket", time.Now().Add(time.Hour)) 10 // 11 // // 仅允许上传到指定 key 12 // putPolicy, err := uptoken.NewPutPolicyWithKey("my-bucket", "my-file.txt", time.Now().Add(time.Hour)) 13 // 14 // // 仅允许上传到指定前缀 15 // putPolicy, err := uptoken.NewPutPolicyWithKeyPrefix("my-bucket", "images/", time.Now().Add(time.Hour)) 16 // 17 // # 生成上传凭证 18 // 19 // signer := uptoken.NewSigner(putPolicy, cred) 20 // // signer 实现了 Provider 接口,可传递给 uploader 使用 21 // 22 // # 上传策略选项 23 // 24 // [PutPolicy] 支持丰富的配置,通过 Get/Set 方法访问: 25 // 26 // - SetInsertOnly: 仅允许新增(禁止覆盖) 27 // - SetCallbackUrl / SetCallbackBody: 设置上传回调 28 // - SetReturnBody: 自定义返回内容 29 // - SetPersistentOps: 设置持久化数据处理 30 // - SetFsizeLimit / SetFsizeMin: 限制文件大小 31 // - SetMimeLimit: 限制文件 MIME 类型 32 // - SetFileType: 指定存储类型 33 // 34 // # 解析已有凭证 35 // 36 // provider := uptoken.NewParser("existing-upload-token-string") 37 // policy, err := provider.GetPutPolicy(ctx) 38 // 39 // # Provider 接口 40 // 41 // [Provider] 统一了上传凭证的获取方式,组合了三个子接口: 42 // 43 // - [UpTokenProvider]: 获取上传凭证字符串 44 // - [PutPolicyProvider]: 获取上传策略 45 // - [AccessKeyProvider]: 获取 AccessKey 46 package uptoken