重写响应头

更新时间: 2019-03-14 10:05

下载对象时,可以重写部分HTTP/HTTPS响应头信息。可重写的响应头信息见下表:


参数

作用

GetObjectInput.ResponseContentType

重写HTTP/HTTPS响应中的Content-Type

GetObjectInput.ResponseContentLanguage

重写HTTP/HTTPS响应中的Content-Language

GetObjectInput.ResponseExpires

重写HTTP/HTTPS响应中的Expires

GetObjectInput.ResponseCacheControl

重写HTTP/HTTPS响应中的Cache-Control

GetObjectInput.ResponseContentDisposition

重写HTTP/HTTPS响应中的Content-Disposition

GetObjectInput.ResponseContentEncoding

重写HTTP/HTTPS响应中的Content-Encoding

以下代码展示了如何重写响应头:

  1. // 引入依赖包
  2. import (
  3. "fmt"
  4. "obs"
  5. )
  6.  
  7. var ak = "*** Provide your Access Key ***"
  8. var sk = "*** Provide your Secret Key ***"
  9. var endpoint = "https://your-endpoint"
  10.  
  11. // 创建ObsClient结构体
  12. var obsClient, _ = obs.New(ak, sk, endpoint)
  13.  
  14. func main() {
  15. input := &obs.GetObjectInput{}
  16. input.Bucket = "bucketname"
  17. input.Key = "objectkey"
  18.  
  19. input.ResponseContentType = "image/jpeg"
  20. output, err := obsClient.GetObject(input)
  21. if err == nil {
  22. defer output.Body.Close()
  23. // 获取重写的响应头
  24. fmt.Printf("ContentType:%s\n", output.ContentType)
  25. } else if obsError, ok := err.(obs.ObsError); ok {
  26. fmt.Printf("Code:%s\n", obsError.Code)
  27. fmt.Printf("Message:%s\n", obsError.Message)
  28. }
  29. }

父主题:下载对象