接口文档

最近更新时间: 2025-02-18 16:02:00

说明:

关于文章中出现的 SecretId、SecretKey、Bucket 等名称的含义和获取方式请参考:COS 术语信息

Bucket操作

Head Bucket

功能说明

Head Bucket 请求可以确认是否存在该 Bucket,是否有权限访问,Head 的权限与 Read 一致。

操作方法原型

调用 Head Bucket 操作:


var params = {
    Bucket : 'STRING_VALUE',    /* 必须 */
    Region : 'STRING_VALUE'        /* 必须 */
};

cos.headBucket(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
BucketExistBucket 是否存在Boolean
BucketAuth是否拥有该 Bucket 的权限Boolean

Get Bucket

功能说明

Get Bucket 请求等同于 List Object 请求,可以列出该 Bucket 下部分或者所有 Object,发起该请求需要拥有 Read 权限。

操作方法原型

调用 Get Bucket 操作:


var params = {
    Bucket : 'STRING_VALUE',    /* 必须 */
    Region : 'STRING_VALUE',    /* 必须 */
    Prefix : 'STRING_VALUE',    /* 非必须 */
    Delimiter : 'STRING_VALUE', /* 非必须 */
    Marker : 'STRING_VALUE',    /* 非必须 */
    MaxKeys : 'STRING_VALUE',    /* 非必须 */
    EncodingType : 'STRING_VALUE',    /* 非必须 */
};

cos.getBucket(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Prefix前缀匹配,用来规定返回的文件前缀地址String
Delimiter定界符为一个符号,如果有 Prefix,则将 Prefix 到 delimiter 之间的相同路径归为一类,定义为Common Prefix,然后列出所有 Common Prefix。如果没有 Prefix,则从路径起点开始String
Marker默认以 UTF-8 二进制顺序列出条目,所有列出条目从marker开始String
MaxKeys单次返回最大的条目数量,默认 1000String
EncodingType规定返回值的编码方式String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
CommonPrefixes将 Prefix 到 delimiter 之间的相同路径归为一类,定义为 Common PrefixArray
Prefix前缀名称String
NameBucket 名字String
Prefix前缀匹配,用来规定返回的文件前缀地址String
Marker默认以 UTF-8 二进制顺序列出条目,所有列出条目从 marker 开始String
MaxKeys单次返回最大的条目数量String
IsTruncated返回条目是否被截断,'true' 或者 'false'String
NextMarker假如返回条目被截断,则返回 NextMarker 就是下一个条目的起点String
Encoding-Type编码类型,作用于Delimiter,Marker,Prefix,NextMarker,KeyString
Contents元数据信息Array
ETag文件的 SHA-1 算法校验值String
Size文件大小,单位 ByteString
KeyObject 名称String
LastModifiedObject 最后修改时间String
OwnerBucket 所有者信息Object
IDBucket 拥有者的 UID 信息String

Put Bucket

功能说明

Put Bucket 请求可以在指定账号下创建一个 Bucket。

操作方法原型

调用 Put Bucket 操作:


var params = {
    Bucket : 'STRING_VALUE',    /* 必须 */
    Region : 'STRING_VALUE',    /* 必须 */
    ACL : 'STRING_VALUE',    /* 非必须 */
    GrantRead : 'STRING_VALUE', /* 非必须 */
    GrantWrite : 'STRING_VALUE',    /* 非必须 */
    GrantFullControl : 'STRING_VALUE'    /* 非必须 */
};

cos.putBucket(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
ACL允许用户自定义文件权限。有效值:private,public-read默认值:private。String
GrantRead赋予被授权者读的权限,格式 x-cos-grant-read: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String
GrantWrite赋予被授权者写的权限,格式 x-cos-grant-write: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String
GrantFullControl赋予被授权者读写权限,格式 x-cos-grant-full-control: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Location创建成功后,Bucket 的操作地址String

Delete Bucket

功能说明

Delete Bucket 请求可以在指定账号下删除 Bucket,删除之前要求 Bucket为空。

操作方法原型

调用 Delete Bucket 操作:


var params = {
    Bucket : 'STRING_VALUE',    /* 必须 */
    Region : 'STRING_VALUE'        /* 必须 */
};

cos.deleteBucket(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
DeleteBucketSuccess删除是否成功Boolean

Get Bucket ACL

功能说明

使用 API 读取 Bucket 的 ACL 表,只有所有者有权操作。

操作方法原型

调用 Get Bucket ACL 操作:


var params = {
    Bucket : 'STRING_VALUE',    /* 必须 */
    Region : 'STRING_VALUE'        /* 必须 */
};

cos.getBucketAcl(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Owner标识资源的所有者Object
uin用户QQ号String
AccessControlList被授权者信息与权限信息Object
Grant具体的授权信息Array
Permission权限信息,枚举值:READ,WRITE,FULL_CONTROLString
Grantee被授权者资源信息Object
uin被授权者的 QQ 号码或者 'anonymous'String
Subacount子账户 QQ 账号String

Put Bucket ACL

功能说明

使用 API 写入 Bucket 的 ACL 表,Put Bucket ACL 是一个覆盖操作,传入新的 ACL 将覆盖原有 ACL。只有所有者有权操作。

操作方法原型

调用 Put Bucket ACL 操作:


var params = {
    Bucket : 'STRING_VALUE',            /* 必须 */
    Region : 'STRING_VALUE',            /* 必须 */
    ACL : 'STRING_VALUE',                /* 非必须 */
    GrantRead : 'STRING_VALUE',         /* 非必须 */
    GrantWrite : 'STRING_VALUE',        /* 非必须 */
    GrantFullControl : 'STRING_VALUE'    /* 非必须 */
};

cos.putBucketAcl(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
ACL允许用户自定义文件权限。有效值:private,public-read默认值:private。String
GrantRead赋予被授权者读的权限,格式 x-cos-grant-read: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String
GrantWrite赋予被授权者写的权限,格式 x-cos-grant-write: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String
GrantFullControl赋予被授权者读写权限,格式 x-cos-grant-full-control: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
BucketGrantSuccess授权是否成功Boolean

Get Bucket CORS

功能说明

Get Bucket CORS 实现跨域访问读取。

操作方法原型

  • 调用 Get Bucket CORS 操作

var params = {
    Bucket : 'STRING_VALUE',    /* 必须 */
    Region : 'STRING_VALUE'        /* 必须 */
};

cos.getBucketCors(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
CORSRule配置的信息集合Array
AllowedMethod允许的 HTTP 操作,枚举值:Get,Put,Head,Post,DeleteArray
AllowedOrigin允许的访问来源,支持『 * 』通配符Array
AllowedHeader在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部Array
ExposeHeader设置浏览器可以接收到的来自服务器端的自定义头部信息Array
MaxAgeSeconds设置 OPTIONS 请求得到结果的有效期String
ID规则名称String

Put Bucket CORS

功能说明

Put Bucket CORS 实现跨域访问读写。

操作方法原型

调用 Put Bucket CORS 操作:


var params = {
    Bucket : 'STRING_VALUE',        /* 必须 */
    Region : 'STRING_VALUE',        /* 必须 */
    CORSRules : [
        {
            ID : 'STRING_VALUE',    /* 非必须 */
            AllowedMethods: [         /* 必须 */
              'STRING_VALUE',
              ...
            ],
            AllowedOrigins: [         /* 必须 */
              'STRING_VALUE',
              ...
            ],
            AllowedHeaders: [        /* 非必须 */
              'STRING_VALUE',
              ...
            ],
            ExposeHeaders: [        /* 非必须 */
                'STRING_VALUE',
                ...
            ],
            MaxAgeSeconds: 'STRING_VALUE'    /* 非必须 */
          },
          ....
    ]
};

cos.putBucketCors(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
CORSRules跨域规则集合Array
ID规则名称String
AllowedMethods允许的HTTP操作,枚举值:Get,Put,Head,Post,DeleteArray
AllowedOrigins允许的访问来源,支持『 * 』通配符,协议,端口和域名必须一致Array
AllowedHeaders在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持『 * 』通配符Array
ExposeHeaders设置浏览器可以接收到的来自服务器端的自定义头部信息Array
MaxAgeSeconds设置 OPTIONS 请求得到结果的有效期String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
PutBucketCorsSuccess设置Bucket CORS 是否成功Boolean

Delete Bucket CORS

功能说明

Delete Bucket CORS 实现跨域访问读取。

操作方法原型

调用 Delete Bucket CORS 操作:


var params = {
    Bucket : 'STRING_VALUE',        /* 必须 */
    Region : 'STRING_VALUE'            /* 必须 */
};

cos.deleteBucketCors(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
DeleteBucketCorsSuccess删除 Bucket CORS 是否成功Boolean

Get Bucket Location

功能说明

Get Bucket Location 接口获取 Bucket 所在地域信息,只有 Bucket 所有者有权限读取信息。

操作方法原型

调用 Get Bucket Location 操作:


var params = {
    Bucket : 'STRING_VALUE',        /* 必须 */
    Region : 'STRING_VALUE'            /* 必须 */
};

cos.getBucketLocation(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
LocationConstraintBucket 所在区域,枚举值:china-east,china-south,china-north,china-west,singaporeString

Object操作

Head Object

功能说明

Head Object 请求可以取回对应 Object 的元数据,Head的权限与 Get 的权限一致。

操作方法原型

调用 Head Object 操作:


var params = {
    Bucket : 'STRING_VALUE',        /* 必须 */
    Region : 'STRING_VALUE',        /* 必须 */
    Key : 'STRING_VALUE',            /* 必须 */
    IfModifiedSince : 'STRING_VALUE'    /* 非必须 */
};

cos.headObject(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
IfModifiedSince当 Object 在指定时间后被修改,则返回对应 Object 元信息String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
x-cos-object-type用来表示object是否可以被追加上传,枚举值:normal或者appendableString
x-cos-storage-classObject的存储级别,枚举值:Standard,Standard_IA,NearlineString
x-cos-meta- *用户自定义的元数据String
NotModified如果请求时带有 IfModifiedSince ,且文件未被修改,则为 trueBoolean

Get Object

功能说明

Get Object 请求可以将一个文件(Object)下载至本地。该操作需要对目标 Object 具有读权限或目标 Object 对所有人都开放了读权限(公有读)。

操作方法原型

调用 Get Object 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE',                            /* 必须 */
    ResponseContentType : 'STRING_VALUE',            /* 非必须 */
    ResponseContentLanguage : 'STRING_VALUE',        /* 非必须 */
    ResponseExpires : 'STRING_VALUE',                /* 非必须 */
    ResponseCacheControl : 'STRING_VALUE',            /* 非必须 */
    ResponseContentDisposition : 'STRING_VALUE',    /* 非必须 */
    ResponseContentEncoding : 'STRING_VALUE',        /* 非必须 */
    Range : 'STRING_VALUE',                            /* 非必须 */
    IfModifiedSince : 'STRING_VALUE',                /* 非必须 */
    Output : 'STRING_VALUE' || 'WRITE_STRING'        /* 必须 */
};

cos.getObject(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
KeyString文件名称
ResponseContentType设置返回头部中的 Content-Type 参数String
ResponseContentLanguage设置返回头部中的 Content-Language 参数String
ResponseExpires设置返回头部中的 Content-Expires 参数String
ResponseCacheControl设置返回头部中的 Cache-Control 参数String
ResponseContentDisposition设置返回头部中的 Content-Disposition 参数String
ResponseContentEncoding设置返回头部中的 Content-Encoding 参数String
RangeRFC 2616 中定义的指定文件下载范围,以字节(bytes)为单位String
IfModifiedSince如果文件修改时间晚于指定时间,才返回文件内容String
Output需要输出的文件路径或者一个写流String / WriteStream

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
x-cos-object-type用来表示object是否可以被追加上传,枚举值:normal或者appendableString
x-cos-storage-classObject的存储级别,枚举值:Standard,Standard_IA,NearlineString
x-cos-meta- *用户自定义的元数据String
NotModified如果请求时带有 IfModifiedSince ,且文件未被修改,则为 trueBoolean

Put Object

功能说明

Put Object 请求可以将一个文件(Object)上传至指定 Bucket。

注意:

Key(文件名)不能以 / 结尾,否则会被识别为文件夹 。

操作方法原型

调用 Put Object 操作:

var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE',                            /* 必须 */
    CacheControl : 'STRING_VALUE',                    /* 非必须 */
    ContentDisposition : 'STRING_VALUE',            /* 非必须 */
    ContentEncoding : 'STRING_VALUE',                /* 非必须 */
    ContentLength : 'STRING_VALUE',                    /* 必须 */
    ContentType : 'STRING_VALUE',                    /* 非必须 */
    Expect : 'STRING_VALUE',                        /* 非必须 */
    Expires : 'STRING_VALUE',                        /* 非必须 */
    ContentSha1 : 'STRING_VALUE',                    /* 非必须 */
    ACL : 'STRING_VALUE',                            /* 非必须 */
    GrantRead : 'STRING_VALUE',                        /* 非必须 */
    GrantWrite : 'STRING_VALUE',                    /* 非必须 */
    GrantFullControl : 'STRING_VALUE',                /* 非必须 */
    'x-cos-meta-*' : 'STRING_VALUE',                /* 非必须 */
    Body: fs.createReadStream('./a.zip'),           /* 必须 */
    onProgress: function (progressData) {
        console.log(progressData);
    },
};
cos.putObject(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
CacheControlRFC 2616 中定义的缓存策略,将作为 Object 元数据保存String
ContentDispositionRFC 2616 中定义的文件名称,将作为 Object 元数据保存String
ContentEncodingRFC 2616 中定义的编码格式,将作为 Object 元数据保存String
ContentLengthRFC 2616 中定义的 HTTP 请求内容长度(字节)String
ContentTypeRFC 2616 中定义的内容类型(MIME),将作为 Object 元数据保存String
Expect当使用 Expect: 100-continue 时,在收到服务端确认后,才会发送请求内容String
ExpiresRFC 2616 中定义的过期时间,将作为 Object 元数据保存String
ContentSha1RFC 3174 中定义的 160-bit 内容 SHA-1 算法校验值String
ACL允许用户自定义文件权限,有效值:private,public-readString
GrantRead赋予被授权者读的权限,格式x-cos-grant-read: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"
String
GrantWrite赋予被授权者写的权限,格式x-cos-grant-write: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"
String
GrantFullControl赋予被授权者读写权限,格式x-cos-grant-full-control: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"
String
x-cos-meta- *允许用户自定义的头部信息,将作为 Object 元数据返回。大小限制2K。String
Body传入文件路径或文件流String/ Stream
onProgress进度回调函数,回调是一个对象,包含进度信息Function

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
ETag返回文件的 MD5 算法校验值。ETag 的值可以用于检查 Object 的内容是否发生变化String

Delete Object

功能说明

Delete Object 请求可以将一个文件(Object)删除。

操作方法原型

调用 Delete Object 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE'                            /* 必须 */
};

cos.deleteObject(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
DeleteObjectSuccess删除文件是否成功Boolean
BucketNotFound如果找不到指定的 Bucket,则为 trueBoolean

Options Object

功能说明

Options Object 请求实现跨域访问的预请求。即发出一个 OPTIONS 请求给服务器以确认是否可以进行跨域操作。

操作方法原型

调用 Options Object 操作:


var params = {
    Bucket : 'STRING_VALUE',        /* 必须 */
    Region : 'STRING_VALUE',        /* 必须 */
    Key : 'STRING_VALUE',            /* 必须 */
    Origin : 'STRING_VALUE',         /* 必须 */
    AccessControlRequestMethod : 'STRING_VALUE',         /* 必须 */
    AccessControlRequestHeaders : 'STRING_VALUE'        /* 非必须 */
};

cos.optionsObject(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
Origin模拟跨域访问的请求来源域名String
AccessControlRequestMethod模拟跨域访问的请求HTTP方法String
AccessControlRequestHeaders模拟跨域访问的请求头部String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
AccessControlAllowOrigin模拟跨域访问的请求来源域名,当来源不允许的时候,此Header不返回String
AccessControlAllowMethods模拟跨域访问的请求HTTP方法,当请求方法不允许的时候,此Header不返回String
AccessControlAllowHeaders模拟跨域访问的请求头部,当模拟任何请求头部不允许的时候,此Header不返回该请求头部String
AccessControlExposeHeaders跨域支持返回头部,用逗号区分String
AccessControlMaxAge设置 OPTIONS 请求得到结果的有效期String

Get Object ACL

功能说明

Get Object ACL 接口实现使用 API 读取 Object 的 ACL 表,只有所有者有权操作。

操作方法原型

调用 Get Object ACL 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE'                            /* 必须 */
};

cos.getObjectAcl(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Owner标识资源的所有者Object
uin用户QQ号String
AccessControlList被授权者信息与权限信息Object
Grant具体的授权信息Array
Permission权限信息,枚举值:READ,WRITE,FULL_CONTROLString
Grantee被授权者资源信息Object
uin被授权者的 QQ 号码或者 'anonymous'String
Subacount子账户 QQ 账号String

Put Object ACL

功能说明

Put Object ACL使用 API 写入 Object 的 ACL 表。

操作方法原型

调用 Put Object ACL 操作:


var params = {
    Bucket : 'STRING_VALUE',            /* 必须 */
    Region : 'STRING_VALUE',            /* 必须 */
    Key : 'STRING_VALUE',                /* 必须 */
    ACL : 'STRING_VALUE',                /* 非必须 */
    GrantRead : 'STRING_VALUE',         /* 非必须 */
    GrantWrite : 'STRING_VALUE',        /* 非必须 */
    GrantFullControl : 'STRING_VALUE'    /* 非必须 */
};

cos.putObjectAcl(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
ACL允许用户自定义文件权限。有效值:private,public-read默认值:private。String
GrantRead赋予被授权者读的权限,格式 x-cos-grant-read: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String
GrantWrite赋予被授权者写的权限,格式 x-cos-grant-write: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String
GrantFullControl赋予被授权者读写权限,格式 x-cos-grant-full-control: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"。
String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object

Delete Multiple Object

功能说明

Delete Multiple Object 请求实现批量删除文件,最大支持单次删除 1000 个文件。对于返回结果,COS 提供 Verbose 和 Quiet 两种结果模式。Verbose 模式将返回每个 Object 的删除结果;Quiet 模式只返回报错的 Object 信息。

操作方法原型

调用 Delete Multiple Object 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Quiet : 'BOOLEAN_VALUE',                        /* 非必须 */
    Objects :  [
        {
            Key : 'STRING_VALUE'                    /* 必须 */
        }
    ]
};

cos.deleteMultipleObject(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Quiet布尔值,这个值决定了是否启动Quiet模式,True启动Quiet模式,False启动Verbose模式,默认FalseBoolean
Objects要删除的文件列表Array
Key要删除的文件名称String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Deleted说明本次删除的成功 Object 信息Array
KeyObject 的名称String
Error说明本次删除的失败 Object 信息Array
KeyObject 的名称String
Code删除失败的错误码String
Message删除错误信息String

分块上传操作

Initiate Multipart Upload

功能说明

Initiate Multipart Upload 请求实现初始化分片上传,成功执行此请求以后会返回 Upload ID 用于后续的 Upload Part 请求。

操作方法原型

调用 Initiate Multipart Upload 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE',                            /* 必须 */
    CacheControl : 'STRING_VALUE',                    /* 非必须 */
    ContentDisposition : 'STRING_VALUE',            /* 非必须 */
    ContentEncoding : 'STRING_VALUE',                /* 非必须 */
    ContentType : 'STRING_VALUE',                    /* 非必须 */
    Expires : 'STRING_VALUE',                        /* 非必须 */
    ACL : 'STRING_VALUE',                            /* 非必须 */
    GrantRead : 'STRING_VALUE',                        /* 非必须 */
    GrantWrite : 'STRING_VALUE',                    /* 非必须 */
    GrantFullControl : 'STRING_VALUE',                /* 非必须 */
    StorageClass : 'STRING_VALUE',                    /* 非必须 */
    'x-cos-meta-*' : 'STRING_VALUE'                    /* 非必须 */
};

cos.multipartInit(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
CacheControlRFC 2616 中定义的缓存策略,将作为 Object 元数据保存String
ContentDispositionRFC 2616 中定义的文件名称,将作为 Object 元数据保存String
ContentEncodingRFC 2616 中定义的编码格式,将作为 Object 元数据保存String
ContentTypeRFC 2616 中定义的内容类型(MIME),将作为 Object 元数据保存String
ExpiresRFC 2616 中定义的过期时间,将作为 Object 元数据保存String
ACL允许用户自定义文件权限,有效值:private,public-readString
GrantRead赋予被授权者读的权限,格式x-cos-grant-read: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"
String
GrantWrite赋予被授权者写的权限,格式x-cos-grant-write: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"
String
GrantFullControl赋予被授权者读写权限,格式x-cos-grant-full-control: uin=" ",uin=" ",
当需要给子账户授权时,uin="RootAcountID/SubAccountID",
当需要给根账户授权时,uin="RootAcountID"
String
StorageClass设置Object的存储级别,枚举值:Standard,Standard_IA,Nearline,默认值:Standard(目前只支持华南园区)String
x-cos-meta- *允许用户自定义的头部信息,将作为 Object 元数据返回。大小限制 2 KString

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Bucket分片上传的目标 BucketString
KeyObject 的名称String
UploadId在后续上传中使用的IDString

Upload Part

功能说明

Upload Part 请求实现在初始化以后的分块上传,支持的块的数量为 1 到 10000,块的大小为 1 MB 到 5 GB。在每次请求Upload Part 时候,需要携带 partNumber 和 uploadID,partNumber 为块的编号,支持乱序上传。

操作方法原型

调用 Upload Part 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE',                            /* 必须 */
    ContentLength : 'STRING_VALUE',                    /* 必须 */
    Expect : 'STRING_VALUE',                        /* 非必须 */
    ContentSha1 : 'STRING_VALUE',                    /* 非必须 */
    PartNumber : 'STRING_VALUE',                    /* 必须 */
    UploadId : 'STRING_VALUE',                        /* 必须 */
};

cos.multipartUpload(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
ContentLengthRFC 2616 中定义的 HTTP 请求内容长度(字节)String
Expect当使用 Expect: 100-continue 时,在收到服务端确认后,才会发送请求内容String
ContentSha1RFC 3174 中定义的 160-bit 内容 SHA-1 算法校验值String
PartNumber分块的编号String
UploadId上传任务编号String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
ETag分块的 ETag 值,为 sha1 校验值String

Complete Multipart Upload

功能说明

Complete Multipart Upload 用来实现完成整个分块上传。当您已经使用 Upload Parts 上传所有块以后,你可以用该 API 完成上传。在使用该 API 时,您必须在 Body 中给出每一个块的 PartNumber 和 ETag,用来校验块的准确性。

操作方法原型

调用 Complete Multipart Upload 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE',                            /* 必须 */
    UploadId : 'STRING_VALUE',                        /* 必须 */
    Parts : [
        {
            PartNumber : 'STRING_VALUE',            /* 必须 */
            ETag : 'STRING_VALUE'                    /* 必须 */
        },
        ...
    ]
};

cos.multipartComplete(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
UploadId上传任务编号String
Parts分块的ETag 信息Array
PartNumber分块的编号String
ETag分块的ETag 值,为 sha1 校验值,需要在校验值前后加上双引号,如 "3a0f1fd698c235af9cf098cb74aa25bc"String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Location创建的 Object 的外网访问域名String
Bucket分块上传的目标 BucketString
KeyObject 的名称String
ETag合并后文件的 MD5 算法校验值String

List Parts

功能说明

List Parts用来查询特定分块上传中的已上传的块

操作方法原型

调用 List Parts 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE',                            /* 必须 */
    UploadId : 'STRING_VALUE',                        /* 必须 */
    EncodingType : 'STRING_VALUE',                    /* 非必须 */
    MaxParts : 'STRING_VALUE',                        /* 非必须 */
    PartNumberMarker : 'STRING_VALUE'                /* 非必须 */
};

cos.multipartListPart(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
UploadId上传任务编号String
EncodingType规定返回值的编码方式String
MaxParts单次返回最大的条目数量,默认1000String
PartNumberMarker默认以 UTF-8 二进制顺序列出条目,所有列出条目从 marker 开始String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Bucket分块上传的目标 BucketString
Encoding-type规定返回值的编码方式String
KeyObject 的名称String
UploadID标示本次分块上传的 IDString
Initiator用来表示本次上传发起者的信息,子节点包括 UIDObject
UID开发商 APPIDString
Owner用来表示这些分块所有者的信息,子节点包括 UIDObject
UID拥有者 qqString
StorageClass用来表示这些分块的存储级别,枚举值:Standard,Standard_IA,NearlineString
PartNumberMarker默认以 UTF-8 二进制顺序列出条目,所有列出条目从 marker 开始String
NextPartNumberMarker假如返回条目被截断,则返回 NextMarker 就是下一个条目的起点String
MaxParts单次返回最大的条目数量String
IsTruncated返回条目是否被截断,'true' 或者 'false'String
Part分块信息集合Array
PartNumber分块编号String
LastModified块最后修改时间String
Etag块的 SHA-1 算法校验值String
Size块大小,单位 ByteString

Abort Multipart Upload

功能说明

Abort Multipart Upload 用来实现舍弃一个分块上传并删除已上传的块。当您调用 Abort Multipart Upload 时,如果有正在使用这个 Upload Parts 上传块的请求,则 Upload Parts 会返回失败。

操作方法原型

调用 Abort Multipart Upload 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Key : 'STRING_VALUE',                            /* 必须 */
    UploadId : 'STRING_VALUE'                        /* 必须 */
};

cos.multipartAbort(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Key文件名称String
UploadId上传任务编号String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
MultipartAbortSuccessMultipart Abort 是否成功Boolean

List Multipart Uploads

功能说明

List Multiparts Uploads 用来查询正在进行中的分块上传。单次最多列出 1000 个正在进行中的分块上传。

操作方法原型

调用 List Multipart Uploads 操作:


var params = {
    Bucket : 'STRING_VALUE',                        /* 必须 */
    Region : 'STRING_VALUE',                        /* 必须 */
    Delimiter : 'STRING_VALUE',                        /* 非必须 */
    EncodingType : 'STRING_VALUE',                    /* 非必须 */
    Prefix : 'STRING_VALUE',                        /* 非必须 */
    MaxUploads : 'STRING_VALUE',                    /* 非必须 */
    KeyMarker : 'STRING_VALUE',                        /* 非必须 */
    UploadIdMarker : 'STRING_VALUE'                    /* 非必须 */
};

cos.multipartList(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
Delimiter界符为一个符号,如果有Prefix,则将Prefix到delimiter之间的相同路径归为一类,定义为Common Prefix,然后列出所有Common Prefix。如果没有Prefix,则从路径起点开始String
EncodingType规定返回值的编码方式String
Prefix前缀匹配,用来规定返回的文件前缀地址String
MaxUploads单次返回最大的条目数量,默认1000String
KeyMarker与upload-id-marker一起使用,
  • 当 upload-id-marker 未被指定时,

ObjectName 字母顺序大于 key-marker 的条目将被列出;
  • 当 upload-id-marker 被指定时,

ObjectName 字母顺序大于 key-marker 的条目被列出,
ObjectName 字母顺序等于 key-marker 且 UploadID 大于 upload-id-marker 的条目将被列出。
String
UploadIdMarker与key-marker一起使用
  • 当key-marker未被指定时,

upload-id-marker将被忽略;
  • 当key-marker被指定时,

ObjectName字母顺序大于key-marker的条目被列出,
ObjectName字母顺序等于 key-marker 且 UploadID 大于 upload-id-marker 的条目将被列出
String

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Bucket分块上传的目标 BucketString
Encoding-type规定返回值的编码方式String
KeyMarker列出条目从该 key 值开始String
UploadIdMarker列出条目从该 UploadId 值开始String
NextKeyMarker假如返回条目被截断,则返回 NextKeyMarker 就是下一个条目的起点String
NextUploadIdMarker假如返回条目被截断,则返回 UploadId 就是下一个条目的起点String
IsTruncated返回条目是否被截断,'true' 或者 'false'String
delimiter定界符为一个符号,如果有 Prefix,则将 Prefix 到 delimiter 之间的相同路径归为一类,定义为 Common Prefix,然后列出所有 Common Prefix。如果没有 Prefix,则从路径起点开始String
CommonPrefixs将 Prefix 到 delimiter 之间的相同路径归为一类,定义为 Common PrefixArray
Prefix具体的 Prefix 值String
UploadUpload 的信息集合Array
KeyObject 的名称String
UploadID标示本次分块上传的 IDString
StorageClass用来表示分块的存储级别,枚举值:Standard,Standard_IA,NearlineString
Initiator用来表示本次上传发起者的信息,子节点包括 UIDObject
UID开发商 APPIDString
Owner用来表示这些分块所有者的信息,子节点包括 UIDObject
UID拥有者 qqString
Initiated分块上传的起始时间String

Slice Upload File

功能说明

Slice Upload File 可用于实现文件的分块上传。

操作方法原型

调用 Slice Upload File 操作:

var params = {
    Bucket: 'STRING_VALUE',    /* 必须 */
    Region: 'STRING_VALUE',    /* 必须 */
    Key: 'STRING_VALUE',    /* 必须 */
    FilePath: 'STRING_VALUE',    /* 必须 */
    SliceSize: 'STRING_VALUE',    /* 非必须 */
    AsyncLimit: 'NUMBER_VALUE',    /* 非必须 */
    onHashProgress: function (progressData) {
        console.log(JSON.stringify(progressData));
    },
    onProgress: function (progressData) {
        console.log(JSON.stringify(progressData));
    },
};

cos.sliceUploadFile(params, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log(data);
    }
});

操作参数说明

参数名参数描述类型必填
BucketBucket 的名称。命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式String
RegionBucket 所在区域。String
KeyObject 名称String
FilePath本地文件路径String
SliceSize分块大小String
AsyncLimit分块的并发量String
onHashProgress计算文件 sha1 值的进度回调函数,回调是一个对象,包含进度信息Function
onProgress进度回调函数,回调是一个对象,包含进度信息Function

回调函数说明

function(err, data) { ... }

回调参数说明

参数名参数描述类型
err请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功,则为空Object
data请求成功时返回的对象,如果请求发生错误,则为空Object
Location创建的 Object 的外网访问域名String
Bucket分块上传的目标 BucketString
KeyObject 的名称String
ETag合并后文件的 SHA-1 算法校验值String

进度回调参数

参数名参数描述类型
SliceSize分块大小String
PartNumber上传成功的分块编号Number
FileSize文件总大小Number