获取对象

功能说明

获取指定 Bucket 中的文件内容或下载文件到本地。

方法原型

  1. func (s *ObjectService) Get(ctx context.Context, key string, opt *ObjectGetOptions) (*Response, error)
  2. func (s *ObjectService) GetToFile(ctx context.Context, key, localfile string, opt *ObjectGetOptions) (*Response, error)

请求示例

  1. key := "test/hello.txt"
  2. opt := &cos.ObjectGetOptions{
  3. ResponseContentType: "text/html",
  4. Range: "bytes=0-3",
  5. }
  6. //opt可选,无特殊设置可设为nil
  7. resp, err := client.Object.Get(context.Background(), key, opt)
  8. bs, _ = ioutil.ReadAll(resp.Body)
  9. resp.Body.Close()
  10. fmt.Printf("%s\n", string(bs))
  11. // Download object to local file
  12. _, err = c.Object.GetToFile(context.Background(), name, "hello_1.txt", nil)
  13. if err != nil {
  14. panic(err)
  15. }

参数说明

  1. type ObjectGetOptions struct {
  2. ResponseContentType string
  3. ResponseContentLanguage string
  4. ResponseExpires string
  5. ResponseCacheControl string
  6. ResponseContentDisposition string
  7. ResponseContentEncoding string
  8. Range string
  9. IfModifiedSince string
  10. }
参数名称参数描述类型必填
key对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpgstring
localfile设置响应头部 Content-Typestring
ResponseContentType设置响应头部 Content-Typestring
ResponseContentLanguage设置响应头部 Content-Languagestring
ResponseExpires设置响应头部 Content-Expiresstring
ResponseCacheControl设置响应头部 Cache-Controlstring
ResponseContentDisposition设置响应头部 Content-Dispositionstring
ResponseContentEncoding设置响应头部 Content-Encodingstring
Range设置下载文件的范围,格式为 bytes=first-laststring
IfModifiedSince在指定时间后被修改才返回string

返回结果说明

  1. {
  2. 'Body': '',
  3. 'Accept-Ranges': 'bytes',
  4. 'Content-Type': 'application/octet-stream',
  5. 'Content-Length': '16807',
  6. 'Content-Disposition': 'attachment; filename="filename.jpg"',
  7. 'Content-Range': 'bytes 0-16086/16087',
  8. 'ETag': '"9a4802d5c99dafe1c04da0a8e7e166bf"',
  9. 'Last-Modified': 'Wed, 28 Oct 2014 20:30:00 GMT',
  10. 'X-Cos-Request-Id': 'NTg3NzQ3ZmVfYmRjMzVfMzE5N182NzczMQ=='
  11. }
参数名称参数描述类型
Body下载文件的内容StreamBody
文件元信息下载文件的元信息,包括 Etag 和 X-Cos-Request-Id 等信息,也会返回设置的文件元信息string