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 )