帮助与文档

我们为你提供丰富、详尽的使用指南以及产品文档

GET Object

用于获取指定对象,此操作要求请求者对存储空间拥有可读权限。

如果存储空间被设置为对匿名用户可读,则请求不需要携带认证信息。然而如果携带了认证信息,但是认证用户不拥有该存储空间的可读权限,则请求该接口会返回权限错误。

Request Syntax

GET /<object-name> HTTP/1.1
Host: <bucket-name>.<zone-id>.qingstor.com
Date: <date>
Authorization: <authorization-string>
Range: bytes=<byte-range>

Request Parameters

使用请求参数可以设置响应头中的响应字段。

如果请求中包含以下请求参数,则该请求必须携带认证信息,同时携带的认证信息也需要对以下的请求参数进行签名。

Parameter Name Type Description Required
response-expires String 设置响应头中的 Expires 字段 No
response-cache-control String 设置响应头中的 Cache-Control 字段 No
response-content-type String 设置响应头中的 Content-Type 字段 No
response-content-language String 设置响应头中的 Content-Language 字段 No
response-content-encoding String 设置响应头中的 Content-Encoding 字段 No
response-content-disposition String 设置响应头中的 Content-Disposition 字段。若要支持指定浏览器下载的文件名中带中文,需要拼接参数 “?response-content-disposition=” + url_quote(‘attachment; filename=”‘+url_quote(filename) + “"; filename=*utf-8’’” + url_quote(filename)) 具体见下边请求样例。 No

Request Headers

参见公共请求头

若对象需要加密,参见加密请求头

若对象附有标准 HTTP 头或自定义元数据,参见如何获取对象元数据

Header Name Type Description Required
Range String 下载对象的某个字节区间,详情可见:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35 当附加该请求头时,处理成功后返回的状态码为 206 Partial Content No
If-Modified-Since Date 如果该对象自从指定时间往后被修改过,则正常下载对象,并返回 200 OK;否则返回 304 NOT MODIFIED No
If-Unmodified-Since Date 如果该对象自从指定时间往后没有被修改过,则正常下载对象,并返回 200 OK;否则返回 412 PRECONDITION FAILED No
If-Match String 如果对象内容的 ETag 值符合给定的值,则正常下载对象,并返回 200 OK;否则返回 412 PRECONDITION FAILED。该值请使用 HTTP 规范所规定的格式 https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.24 No
If-None-Match String 如果对象内容的 ETag 值不同于给定的值,则正常下载对象,并返回 200 OK;否则返回 304 NOT MODIFIED No

Request Body

没有请求消息体

Response Headers

参见公共响应头

若对象被加密,服务端将返回加密响应头, 具体请参见加密响应头

Status Code

该 API 为幂等操作. 成功则返回 200; object 或 bucket 不存在会返回 404; 假如开启了外部镜像功能并且对象在 Bucket 中不存在, 有可能返回 302 重定向. 失败的返回码参考错误码列表

Response Body

正常情况下为对象实体内容, 错误情况下会有返回码对应的 Json 消息, 参考错误码列表

Example

Example Request

GET /myphoto.jpg HTTP/1.1
Host: mybucket.pek3a.qingstor.com
Date: Sun, 16 Aug 2015 09:05:00 GMT
Authorization: authorization string

Example Response

HTTP/1.1 200 OK
Server: QingStor
Date: Sun, 16 Aug 2015 09:05:00 GMT
Last-Modified: Fri, 14 Aug 2015 09:10:39 GMT
Content-Type: image/jpeg
Content-Length: 7987
Connection: close
x-qs-request-id: aa08cf7a43f611e5886952542e6ce14b
[7987 bytes of object data]

Example Request 带response-content-disposition

GET /mybucket/test.htm?response-content-disposition=attachment%3B%20filename%3D%22%25E6%25B5%258B%25E8%25AF%2595%25E6%2596%2587%25E4%25BB%25B6%2528%25E5%2593%2588%25E5%2593%2588%25E5%2593%2588%2529.txt%22%3B%20filename%2A%3Dutf-8%27%27%25E6%25B5%258B%25E8%25AF%2595%25E6%2596%2587%25E4%25BB%25B6%2528%25E5%2593%2588%25E5%2593%2588%25E5%2593%2588%2529.txt&省略参数认证信息 HTTP/1.1
Host: sh1a.qingstor.com
Accept: */*

Example Response 带content-disposition

HTTP/1.1 200 OK
Date: Thu, 04 Jan 2018 17:11:23 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 11437
Connection: keep-alive
Content-Disposition: attachment; filename="%E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6%28%E5%93%88%E5%93%88%E5%93%88%29.txt"; filename*=utf-8''%E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6%28%E5%93%88%E5%93%88%E5%93%88%29.txt
Etag: "0dc1550ee20d5e14ee0153ddc149d9d1"
Last-Modified: Thu, 09 Nov 2017 16:18:58 GMT
x-qs-request-id: afdd603b0021971e
x-qs-storage-class: STANDARD
[11437 bytes of object data]