更新时间:2022-02-10 GMT+08:00

断点续传上传

功能说明

对分段上传的封装和加强,解决上传大文件时由于网络不稳定或程序崩溃导致上传失败的问题。

方法定义

func (obsClient ObsClient) UploadFile(input *UploadFileInput) (output *CompleteMultipartUploadOutput, err error)

请求参数

参数名

类型

约束

input

*UploadFileInput

必选

返回结果

参数名

类型

output

*CompleteMultipartUploadOutput

err

error

代码样例

func main() {
       input := &obs.UploadFileInput{}
       input.Bucket = "bucketname"
       input.Key = "objectname"
       input.UploadFile = "localfile"   // localfile为待上传的本地文件路径,需要指定到具体的文件名
       input.EnableCheckpoint = true    // 开启断点续传模式
       input.PartSize = 9 * 1024 * 1024  // 指定分段大小为9MB
       input.TaskNum = 5  // 指定分段上传时的最大并发数
       output, err := obsClient.UploadFile(input)
       if err == nil {
              fmt.Printf("RequestId:%s\n", output.RequestId)
              fmt.Printf("ETag:%s\n", output.ETag)
       } else if obsError, ok := err.(obs.ObsError); ok {
              fmt.Printf("Code:%s\n", obsError.Code)
              fmt.Printf("Message:%s\n", obsError.Message)
       }
}