分片上传接口 初始化分片上传任务 功能说明 分片上传操作可以将超过5GB的大文件分割后上传,分片上传对象首先需要发起分片上传请求获取一个upload id。 代码示例 plaintext func CreateMultipartUpload(svc s3.S3) { createMultipartUploadInput : &s3.CreateMultipartUploadInput{ Bucket: aws.String(" "), Key: aws.String(" "), } createMultipartUploadOutput, err : svc.CreateMultipartUpload(createMultipartUploadInput) if err ! nil { fmt.Printf("fail to create multipart upload. %v", err) } else { fmt.Printf("upload id: %vn", createMultipartUploadOutput.UploadId) } } 通过CreateMultipartUploadRequest操作获取对象: plaintext CreateMultipartUploadRequest操作首先生成一个"request.Request"对象,该对象是一个执行CreateMultipartUpload操作的请求。通过调用Request对象的Send方法完成初始化分片上传的操作。该方法可以生成定制化的请求,例如自定义请求头部请求超时重试设置。 func CreateMultipartUploadRequest(svc s3.S3) { createMultipartUploadInput : &s3.CreateMultipartUploadInput{ Bucket: aws.String(" "), Key: aws.String(" "), } req, createMultipartUploadOutput : svc.CreateMultipartUploadRequest(createMultipartUploadInput) err : req.Send() if err ! nil { fmt.Printf("fail to create multipart upload. %v", err) } else { fmt.Printf("upload id: %vn", createMultipartUploadOutput.UploadId) } } 请求参数 CreateMultipartUploadInput可设置的参数如下: 参数 类型 说明 是否必要 ACL string 配置上传对象的预定义的标准ACL信息,例如private,publicread,publicreadwrite等 否 Bucket string bucket的名称 是 ContentType string 描述上传文件格式的标准MIME类型 否 GrantFullControl string 用于自定义用户对此对象的FULLCONTROL权限信息 否 GrantRead string 用于自定义用户对此对象的READ权限信息 否 GrantReadACP string 用于自定义用户对此对象的READACP权限信息 否 GrantWrite string 用于自定义用户对此对象的WRITE权限信息 否 GrantWriteACP string 用于自定义用户对此对象的WRITEACP权限信息 否 Key string 上传文件到对象存储服务后对应的key 是 Metadata map[string]string 对象的元数据信息 否 Tagging string 对象的标签信息,必须是URL请求参数的形式。例如,"Key1Value1" 否 WebsiteRedirectLocation string 如果bucket被配置用于提供网站的静态数据,该参数可以用于设置访问对象时候重定向到当前bucket下的其他对象或者外部的URL 否
来自: