您可以通过API级命令向存储空间(Bucket)中上传文件(Object)。

注意事项

  • 阿里云账号默认拥有上传文件的权限。如果您需要通过RAM用户或者STS的方式进行上传,您必须拥有oss:PutObject权限。具体操作,请参见为RAM用户授权自定义的权限策略

  • 添加的Object大小不能超过5 GB。

  • 默认情况下,如果已存在同名Object且对该Object有访问权限,则新添加的Object将覆盖原有的Object。

命令格式

ossutil api put-object --bucket value --key value [flags]

参数

类型

说明

--body

string

请求体。

--bucket

string

Bucket名称。

--cache-control

string

指定该Object的网页缓存行为。

--content-disposition

string

指定该Object被上传时的名称。

--content-encoding

string

指定该Object的内容编码格式。

--expires

string

过期时间。

--forbid-overwrite

boolean

指定是否覆盖同名目标Object。

--key

string

Object的完整路径。

--metadata

stringArray

指定设置的元数据,如需要自定义携带的元数据,需配置以x-oss-meta-*为前缀的参数。

--object-acl

string

指定Object的访问权限。

--server-side-data-encryption

string

创建Object时,指定服务器端加密方式。

--server-side-encryption

string

指定服务器端加密方式。

--server-side-encryption-key-id

string

表示KMS托管的用户主密钥。

--storage-class

string

指定Object的存储类型。

--tagging

string

指定Object的对象标签,可同时设置多个标签,例如TagA=A和TagB=B。

说明

使用示例

  • 以字符串的形式上传文件。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss"
  • 以文件的形式上传。

    ossutil api put-object --bucket examplebucket --key exampleobject --body file://uploadFile
  • 以字符串的形式上传文件并携带自定义元数据。

    ossutil api put-object --bucket examplebucket --key exampleobject  --metadata user=aliyun --metadata email=ali***@aliyuncs.com --body "hi oss"
  • 以字符串的形式上传文件并指定object的标签信息。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --tagging "TagA=A&TagB=B"
  • 以字符串的形式上传文件并指定object的访问权限以及存储类型。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --object-acl private --storage-class IA
  • 以字符串的形式上传文件并指定object服务器端加密方式。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --server-side-encryption KMS --server-side-data-encryption SM4 --server-side-encryption-key-id 9468da86-3509-4f8d-a61e-6eab1eac****
  • 以字符串的形式上传文件并禁止覆盖同名Object。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --forbid-overwrite true
  • 以字符串的形式上传文件并指定该Object被下载时网页的缓存行为。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --cache-control no-cache
  • 以字符串的形式上传文件并指定该Object被下载时的名称。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --content-disposition "attachment;filename=oss_download.jpg"