PutObject
更新时间:2024-05-07
接口描述
此接口用于向指定的Bucket上传一个文件,请求者必须具有Write权限。在PutObject前需要确保对应的Bucket已经存在,BOS支持Object文件的长度范围是0Byte-5GB。如果需要上传大于5GB的文件,请参考分块上传指南。
请求(Request)
PUT /<ObjectName> HTTP/1.1
Host: <BucketName>.bj.bcebos.com
Date: <Date>
Authorization: <AuthorizationString>
Content-Type: text/plain
Content-Length: <Content_Length>
x-bce-storage-class: <Storage_class>
-
请求参数
无特殊参数
-
请求头域
名称 类型 描述 是否必需 Cache-Control String 下载Object的Cache设置,常见的可取值为 private
、no-cache
、max-age
、must-revalidate
否 Content-Disposition String 设置浏览器是否下载,可取值为 inline
、attachment
; filename="download.txt"否 Content-MD5 String RFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该字段来验证保存在BOS侧的文件和用户预期的文件是否一致。 否 Expires String 用于设置下载Object时的缓存失效时间,如果不做时间设置,BOS则会默认设置缓存失效时间为三天。 否 x-bce-meta-* String 用户自定义的meta 否 x-bce-content-sha256 String 通过携带该字段来验证保存在BOS侧的文件和用户预期的文件是否一致,sha256的校验准确性更高。所传数据的sha256值必须与此匹配,否则PutObject失败 否 x-bce-content-crc32 String 上传object的CRC值(循环冗余校验码)。 否 x-bce-storage-class String 指定Object的存储类型, STANDARD_IA
代表低频存储,COLD
代表冷存储,ARCHIVE
代表归档存储,不指定时默认是STANDARD
标准存储类型;如果是多AZ类型bucket,MAZ_STANDARD_IA
代表多AZ低频存储,不指定时默认是MAZ_STANDARD
多AZ标准存储类型,不能是其它取值否 x-bce-acl String CannedACL支持的header,用户设置Object的权限,取值为private和public-read。 否 x-bce-grant-read String CannedACL支持的header,用户设置Object的读权限。支持多个id,以逗号分隔 否 x-bce-grant-full-control String CannedACL支持的header,用户设置Object的FULL_CONTROL权限。支持多个id,以逗号分隔 否 x-bce-server-side-encryption String 服务端加密算法,当前支持AES256和SM4加密。 否 x-bce-forbid-overwrite Boolen 是否禁止被覆盖,默认为false,当该值为true时下次上传同名文件时将返回409错误 否
响应(Response)
注意事项
- Content-Length是必须参数,如果请求者指定的Content-Length比实际请求体(Object的实际数据)长度小,BOS只保存Content-Length指定长度的数据,多的这部分数据直接废弃;相反,如果Content-Length的长度大,BOS将一直等待请求者上传数据,直到超时。
- 上传的Object,如不指定Content-Type,BOS会自动识别设置合适的Content-Type,若无法识别则默认为
application/octet-stream
- BOS目前不支持Version,如果请求者重复Put一个Object,之前上传的数据将被覆盖。
- 由于BOS本身是一个(
<Key>,<Value>
)的存储系统,所以原则上并不会存在“文件夹”的概念。若需要按照文件夹来划分,可以把 “/” 符号作为分隔符模拟文件夹。例如上传object为 “work/test/123.txt”,控制台显示时会根据“/”自动切分,创建work文件夹下面的test文件夹和test文件夹下的123.txt文件。
示例
PUT /ObjectName HTTP/1.1
Host: BucketName.bj.bcebos.com
Date: Wed, 06 Apr 2016 06:34:40 GMT
Authorization: AuthorizationString
Content-Type: text/plain
Content-Length: 11434
x-bce-storage-class: STANDARD_IA
[11434 bytes of object data]
HTTP/1.1 200 OK
x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409
Date: Wed, 06 Apr 2016 06:34:40 GMT
ETag: "1b2cf535f27731c974343645a3985328"
Content-Length: 0
Connection: close
Server: BceBos