github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/uploader/params.go (about)

     1  package uploader
     2  
     3  import (
     4  	"github.com/qiniu/go-sdk/v7/storagev2/region"
     5  	"github.com/qiniu/go-sdk/v7/storagev2/uptoken"
     6  )
     7  
     8  type (
     9  	// 对象上传选项
    10  	ObjectOptions struct {
    11  		// 区域提供者,可选
    12  		RegionsProvider region.RegionsProvider
    13  
    14  		// 上传凭证接口,可选
    15  		// 但如果不传值,则必须给出 BucketName,并且配合 Uploader 的 Credentials 自动生成 UpToken
    16  		UpToken uptoken.Provider
    17  
    18  		// 空间名称,可选,但如果不传值,则必须给出 UpToken
    19  		BucketName string
    20  
    21  		// 对象名称
    22  		ObjectName *string
    23  
    24  		// 文件名称
    25  		FileName string
    26  
    27  		// 文件 MIME 类型
    28  		ContentType string
    29  
    30  		// 自定义元数据
    31  		Metadata map[string]string
    32  
    33  		// 自定义变量
    34  		CustomVars map[string]string
    35  
    36  		// 对象上传进度
    37  		OnUploadingProgress func(*UploadingProgress)
    38  	}
    39  
    40  	// 分片上传对象上传选项
    41  	MultiPartsObjectOptions struct {
    42  		// 对象上传选项
    43  		ObjectOptions
    44  
    45  		// 分片大小,如果不填写,默认为 4 MB
    46  		PartSize uint64
    47  	}
    48  
    49  	// 分片上传进度
    50  	UploadingPartProgress struct {
    51  		Uploaded uint64 // 已经上传的数据量,单位为字节
    52  		PartSize uint64 // 分片大小,单位为字节
    53  	}
    54  
    55  	// 对象上传进度
    56  	UploadingProgress struct {
    57  		Uploaded  uint64 // 已经上传的数据量,单位为字节
    58  		TotalSize uint64 // 总数据量,单位为字节
    59  	}
    60  
    61  	// 上传分片列表选项
    62  	UploadPartsOptions struct {
    63  		// 分片上传进度
    64  		OnUploadingProgress func(partNumber uint64, progress *UploadingPartProgress)
    65  		// 分片上传成功后回调函数
    66  		OnPartUploaded func(UploadedPart) error
    67  	}
    68  
    69  	// 上传分片选项
    70  	UploadPartOptions struct {
    71  		// 分片上传进度
    72  		OnUploadingProgress func(*UploadingPartProgress)
    73  	}
    74  
    75  	DirectoryOptions struct {
    76  		// 区域提供者
    77  		RegionsProvider region.RegionsProvider
    78  
    79  		// 上传凭证
    80  		UpToken uptoken.Provider
    81  
    82  		// 空间名称
    83  		BucketName string
    84  
    85  		// 上传并发度
    86  		ObjectConcurrency int
    87  
    88  		// 上传前回调函数
    89  		BeforeObjectUpload func(filePath string, objectOptions *ObjectOptions)
    90  
    91  		// 上传进度
    92  		OnUploadingProgress func(filePath string, progress *UploadingProgress)
    93  
    94  		// 对象上传成功后回调
    95  		OnObjectUploaded func(filePath string, info *UploadedObjectInfo)
    96  
    97  		// 是否在空间内创建目录
    98  		ShouldCreateDirectory bool
    99  
   100  		// 是否上传指定对象,如果 objectOptions 为 nil 则表示是目录
   101  		ShouldUploadObject func(filePath string, objectOptions *ObjectOptions) bool
   102  
   103  		// 更改对象名称
   104  		UpdateObjectName func(string) string
   105  
   106  		// 分隔符,默认为 /
   107  		PathSeparator string
   108  	}
   109  
   110  	// 已经上传的对象信息
   111  	UploadedObjectInfo struct {
   112  		Size uint64 // 对象大小
   113  	}
   114  )