GetObject
所有文档

          对象存储 BOS

          GetObject

          接口描述

          此命令用于从BOS获取某个Object。此操作需要请求者对该Object有读权限。请求者可以在Header中设置Range来指定需要获取的Object数据的范围。

          请求(Request)

          • 请求语法

            GET /<ObjectKey> HTTP/1.1
            Host: <BucketName>.bj.bcebos.com
            Date: <Date>
            Authorization: <AuthorizationString>
            Range: <Range_String>
          • 请求头域

            名称 类型 描述 是否必需
            Range String 指定Object返回的文件范围。设定 bytes=0-9,表示传送第0到第9这10个字符。默认返回全部数据。
          • 请求参数

          响应(Response)

          • 响应头域

            名称 类型 描述
            Cache-Control String 下载Object的Cache设置,常见的可取值为privateno-cachemax-agemust-revalidate
            Content-Disposition String 设置浏览器是否下载,可取值为inlineattachment; filename="download.txt"
            Content-Length Long Int 返回Object的数据大小
            Content-Range String 有range的情况下返回Object的数据范围
            Content-Type String Object的类型及编码方式
            Expires String 下载Object时的缓存失效时间
            ETag String Object的HTTP协议实体标签
            x-bce-meta-* String 如果有自定meta,才返回此项
            x-bce-storage-class String 标准存储返回STANDARD,低频存储返回STANDARD_IA,冷存储返回COLD,归档存储返回ARCHIVE;如果是多AZ类型bucket,多AZ低频存储返回MAZ_STANDARD_IA,多AZ标准存储返回MAZ_STANDARD
            x-bce-server-side-encryption String Object的服务器端加密类型,当前只支持AES256加密。

            注意事项

            • GetObject通过Range参数可以支持断点续传,对于比较大的Object建议使用该功能。
            • 如果在请求头中使用Range参数;则返回消息中会包含整个文件的长度和此次返回的范围,例如:Content-Range: bytes 0-9/44,表示整个文件长度为 44,此次返回的范围为0-9。
            • 对于Range读大小为0字节的对象, 会返回400错误, Range是前闭后闭区间。
            • 归档存储类型对象需要先取回才能调用GetObject接口。

            如您想在response请求里面获得某些特定的header信息,可通过如下两种方式:

            • 在PutObject时增加header信息,则GetObject时会直接返回在response里面,请参考PutObject接口

              注意: responseContentDisposition的设置在BOS自有域名($region.bcebos.com和*.$region.bcebos.com无效)。

            • GetObject时,在queryString里面直接增加“responseXXX=YYY”,返回的header里面会包含“XXX: YYY”。例如:GET /testBucket/testObject?responseContentType= image/jpg,在这个http请求的response里面就会有“Content-Type: image/jpg”。

              具体的形式为response$header=urlencode(value),需要注意,当前$header只支持“ContentDisposition、ContentType、ContentLanguage、Expires、CacheControl、ContentEncoding”。

          • 响应元素

          示例

          • 请求示例

            GET /ObjectName
            Host: BucketName.bj.bcebos.com
            Date: Wed, 06 Apr 2016 06:34:40 GMT
            Authorization: AuthorizationString
            Range: bytes=0-9
          • 响应示例

            HTTP/1.1 206 Partial Content
            x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409
            x-bce-storage-class: STANDARD
            Date: Wed, 06 Apr 2016 06:34:40 GMT
            Last-Modified: Fri, 28 Jan 2011 20:10:32 GMT
            ETag: "b2419b1e3fd45d596ee22bdf62aaaa2f"
            Accept-Ranges: bytes
            Content-Range: bytes 0-9/443
            Content-Type: text/plain
            Content-Length: 10
            Server: BceBos
            
            [10 bytes of object data]
          上一篇
          PutObject
          下一篇
          GetObjectMeta