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