下载对象
更新时间: 2019-03-13 10:26
功能说明
下载指定桶中的对象。
方法定义
- func (obsClient ObsClient) GetObject(input *GetObjectInput) (output *GetObjectOutput, err error)
使用带授权信息URL的方法定义
- func (obsClient ObsClient) GetObjectWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header) (output *GetObjectOutput, err error)
请求参数
参数名 | 类型 | 约束 |
---|---|---|
input | *GetObjectInput | 必选 |
返回结果
参数名 | 类型 |
---|---|
output | *GetObjectOutput |
err | error |
代码样例
- func main() {
- input := &obs.GetObjectInput{}
- input.Bucket = "bucketname"
- input.Key = "objectkey"
- output, err := obsClient.GetObject(input)
- if err == nil {
- defer output.Body.Close()
- fmt.Printf("RequestId:%s\n", output.RequestId)
- fmt.Printf("StorageClass:%s, ETag:%s, ContentType:%s, ContentLength:%d, LastModified:%s\n",
- output.StorageClass, output.ETag, output.ContentType, output.ContentLength, output.LastModified)
- p := make([]byte, 1024)
- var readErr error
- var readCount int
- for {
- readCount, readErr = output.Body.Read(p)
- if readCount > 0 {
- fmt.Printf("%s", p[:readCount])
- }
- if readErr != nil {
- break
- }
- }
- } else {
- if obsError, ok := err.(obs.ObsError); ok {
- fmt.Println(obsError.Code)
- fmt.Println(obsError.Message)
- } else {
- fmt.Println(err)
- }
- }
- }
父主题:对象相关接口