Skip to content

Commit 9e0753a

Browse files
committed
Merge remote-tracking branch 'origin/master'
# Conflicts: # index.d.ts
2 parents be8ad20 + 5a6af14 commit 9e0753a

File tree

8 files changed

+324
-80
lines changed

8 files changed

+324
-80
lines changed

CHANGELOG.md

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
99

10+
## [v2.11.1](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.0...v2.11.1) - 2021-11-17
11+
12+
fix:requestError处理
13+
14+
### Commits
15+
16+
- Merge https://github.com/tencentyun/cos-nodejs-sdk-v5 [`079c668`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/079c66886c3fbe93518c607ee4e2102dce755902)
17+
- Updated CHANGELOG.md [`960611c`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/960611c9228f2d4d5a5880763490127a88bebe5c)
18+
- upd requestError处理 [`dc1fe92`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/dc1fe925826b2aaf02afbee28bdbb8038d7645ad)
19+
20+
## [v2.11.0](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.10.10...v2.11.0) - 2021-11-17
21+
22+
- 新增appendObject接口
23+
- 新增媒体处理demo
24+
- 修复已知d.ts错误
25+
26+
### Merged
27+
28+
- Feat/2.11.0 [`#118`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/118)
29+
30+
### Commits
31+
32+
- feat:新增appendObject;新增媒体处理三个接口; [`4efc3a8`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/4efc3a80b6afb84e09f68ad1ad91f56fcc3b089b)
33+
- upd:支持ci demo [`03f3e45`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/03f3e45eef92656f35f146d2a8e3eb12eeef29f0)
34+
- upd:test.js [`acabf61`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/acabf6182f8faefd2320e3ef204b432bdda55398)
35+
- upd d.ts [`e183ccf`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/e183ccf442d1c2d84b5418fa40be98ce0efdf08a)
36+
- Updated CHANGELOG.md [`f7d35fd`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/f7d35fd736ba213e092a9d89ad049741d5845f73)
37+
- Range 去掉一个多出来的 Range 定义 [`db36ad1`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/db36ad13cd3f3c2aaac5fe96b14603cb350893c9)
38+
- upd d.ts [`a125071`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/a12507119c637785c64e8059b4250e480d410ccc)
39+
- upd:d.ts [`cff7937`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/cff79371519742edeca712fa045c81073d99d7a2)
40+
1041
## [v2.10.10](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.10.9...v2.10.10) - 2021-11-11
1142

1243
fix:修复uploadSliceItem
@@ -810,22 +841,12 @@ fix: clone bug
810841

811842
## [v1.1.0](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v1.0.0...v1.1.0) - 2017-05-24
812843

813-
- 支持 npm 包引入
814-
- 调用方式改成 new Cos(options)
815-
- 参数 Appid 兼容AppId
816-
- 支持 PutObjectCopy、PutBucketPolicy、GetBucketPolicy
817-
- 新增多个 demo
818-
819844
### Commits
820845

821846
- 改成对象调用 [`8cff2af`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/8cff2aff1370c256812fcca40893812a8fa15bf8)
822847

823848
## v1.0.0 - 2017-05-24
824849

825-
cos-js-sdk-v4 v1.0.0
826-
For Qcloud COS XML API
827-
https://www.qcloud.com/document/product/436/7751
828-
829850
### Commits
830851

831852
- Add files via upload [`611ba07`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/611ba07016d672bee8b4a6edbb47be5d011b9a9e)

demo/demo.js

Lines changed: 104 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1518,6 +1518,47 @@ function downloadFile() {
15181518
// cos.emit('inner-kill-task', {TaskId: '123'});
15191519
}
15201520

1521+
// 追加上传
1522+
function appendObject() {
1523+
cos.appendObject({
1524+
Bucket: config.Bucket, // Bucket 格式:test-1250000000
1525+
Region: config.Region,
1526+
Key: 'append1.txt', /* 必须 */
1527+
Body: '12345',
1528+
Position: 0,
1529+
},
1530+
function(err, data) {
1531+
console.log(err || data);
1532+
})
1533+
}
1534+
1535+
// 继续追加上传
1536+
function appendObject_continue() {
1537+
cos.headObject({
1538+
Bucket: config.Bucket, // Bucket 格式:test-1250000000
1539+
Region: config.Region,
1540+
Key: 'append1.txt', /* 必须 */
1541+
}, function(err, data) {
1542+
if (err) return console.log(err);
1543+
// 首先取到要追加的文件当前长度,即需要上送的Position
1544+
var position = data.headers['content-length'];
1545+
cos.appendObject({
1546+
Bucket: config.Bucket, // Bucket 格式:test-1250000000
1547+
Region: config.Region,
1548+
Key: 'append1.txt', /* 必须 */
1549+
Body: '66666',
1550+
Position: position,
1551+
},
1552+
function(err, data) {
1553+
// 也可以取到下一次上传的position继续追加上传
1554+
var nextPosition = data.headers['x-cos-next-append-position'];
1555+
console.log(err || data);
1556+
})
1557+
});
1558+
}
1559+
1560+
1561+
15211562
function request() {
15221563
// 对云上数据进行图片处理
15231564
var filename = 'example_photo.png';
@@ -1646,36 +1687,71 @@ function CIExample4(){
16461687
* 查询已经开通数据万象功能的存储桶
16471688
*/
16481689
function DescribeCIBuckets() {
1649-
let url = 'https://' +config.Bucket + '.pic.' + config.Region + '.myqcloud.com';
1690+
var host = 'ci.' + config.Region + '.myqcloud.com';
1691+
var url = 'https://' + host + '/mediabucket';
16501692
cos.request({
1651-
Bucket: config.Bucket, // Bucket 格式:test-1250000000
1693+
Bucket: config.Bucket,
16521694
Region: config.Region,
16531695
Method: 'GET',
1654-
Url: url
1655-
}, function (err, data) {
1696+
Key: 'mediabucket', /** 固定值,必须 */
1697+
Url: url,
1698+
Query: {
1699+
pageNumber: '1', /** 第几页,非必须 */
1700+
pageSize: '10', /** 每页个数,非必须 */
1701+
// regions: 'ap-chengdu', /** 地域信息,例如'ap-beijing',支持多个值用逗号分隔如'ap-shanghai,ap-beijing',非必须 */
1702+
// bucketNames: 'test-1250000000', /** 存储桶名称,精确搜索,例如'test-1250000000',支持多个值用逗号分隔如'test1-1250000000,test2-1250000000',非必须 */
1703+
// bucketName: 'test', /** 存储桶名称前缀,前缀搜索,例如'test',支持多个值用逗号分隔如'test1,test2',非必须 */
1704+
}
1705+
},
1706+
function(err, data){
1707+
// var CIStatus = data.CIStatus;
16561708
console.log(err || data);
16571709
});
16581710
}
16591711

16601712

16611713
/**
1662-
* 查询已经开通文档预览功能的存储桶
1714+
* 获取媒体文件信息
1715+
*/
1716+
function GetMediaInfo() {
1717+
cos.request({
1718+
Bucket: config.Bucket,
1719+
Region: config.Region,
1720+
Method: 'GET',
1721+
Key: 'test.mp4',
1722+
Query: {
1723+
'ci-process': 'videoinfo' /** 固定值,必须 */
1724+
}
1725+
},
1726+
function (err, data) {
1727+
console.log(err || data);
1728+
});
1729+
}
1730+
1731+
/**
1732+
* 获取媒体文件某个时间的截图
16631733
*/
1664-
function DescribeDocProcessBuckets() {
1665-
let url = 'https://' + 'ci.' + config.Region + '.myqcloud.com/docbucket';
1734+
function GetSnapshot() {
16661735
cos.request({
1667-
Bucket: config.Bucket, // Bucket 格式:test-1250000000
1736+
Bucket: config.Bucket,
16681737
Region: config.Region,
16691738
Method: 'GET',
1670-
Key: 'docbucket',
1671-
Url: url,
1739+
Key: 'test.mp4',
16721740
Query: {
1673-
pageNumber: '1',
1674-
pageSize: '10'
1675-
}
1676-
}, function (err, data) {
1677-
console.log(err || data);
1678-
});
1741+
'ci-process': 'snapshot', /** 固定值,必须 */
1742+
time: 1, /** 截图的时间点,单位为秒,必须 */
1743+
// width: 0, /** 截图的宽,非必须 */
1744+
// height: 0, /** 截图的高,非必须 */
1745+
// format: 'jpg', /** 截图的格式,支持 jpg 和 png,默认 jpg,非必须 */
1746+
// rotate: 'auto', /** 图片旋转方式,默认为'auto',非必须 */
1747+
// mode: 'exactframe', /** 截帧方式,默认为'exactframe',非必须 */
1748+
},
1749+
RawBody: true,
1750+
},
1751+
function (err, data) {
1752+
// var Body = data.Body;
1753+
console.log(err || data);
1754+
});
16791755
}
16801756

16811757

@@ -2142,44 +2218,6 @@ function DescribeMediaJobs() {
21422218
}
21432219

21442220

2145-
/**
2146-
* 获取媒体文件某个时间的截图
2147-
*/
2148-
function GetSnapshot() {
2149-
cos.request({
2150-
Bucket: config.Bucket, // Bucket 格式:test-1250000000
2151-
Region: config.Region,
2152-
Method: 'GET',
2153-
Key: 'test.mp4',
2154-
Query: {
2155-
'ci-process': 'snapshot',
2156-
'time': '1',
2157-
'format': 'png'
2158-
}
2159-
}, function (err, data) {
2160-
console.log(err || data);
2161-
});
2162-
}
2163-
2164-
2165-
/**
2166-
* 获取媒体文件信息
2167-
*/
2168-
function GetMediaInfo() {
2169-
cos.request({
2170-
Bucket: config.Bucket, // Bucket 格式:test-1250000000
2171-
Region: config.Region,
2172-
Method: 'GET',
2173-
Key: 'test.mp4',
2174-
Query: {
2175-
'ci-process': 'videoinfo'
2176-
}
2177-
}, function (err, data) {
2178-
console.log(err || data);
2179-
});
2180-
}
2181-
2182-
21832221
/**
21842222
* 创建工作流
21852223
*/
@@ -2587,7 +2625,7 @@ function GetPrivateM3U8() {
25872625
});
25882626
}
25892627

2590-
2628+
// 存储桶操作
25912629
// getService();
25922630
// getAuth();
25932631
// getV4Auth();
@@ -2640,6 +2678,9 @@ function GetPrivateM3U8() {
26402678
// getBucketEncryption();
26412679
// deleteBucketEncryption();
26422680
// deleteBucket();
2681+
2682+
2683+
// 对象操作
26432684
// putObjectCopy();
26442685
// getObjectStream();
26452686
// getObject();
@@ -2664,6 +2705,8 @@ function GetPrivateM3U8() {
26642705
// putObjectTagging();
26652706
// getObjectTagging();
26662707
// deleteObjectTagging();
2708+
// appendObject();
2709+
// appendObject_continue();
26672710

26682711
// 其他示例
26692712
// moveObject();
@@ -2675,7 +2718,11 @@ function GetPrivateM3U8() {
26752718
// request();
26762719

26772720
// 数据处理
2678-
//DescribeCIBuckets();
2721+
// DescribeCIBuckets();
2722+
// GetMediaInfo();
2723+
// GetSnapshot();
2724+
2725+
26792726
//DescribeDocProcessBuckets();
26802727
//GetDocProcess()
26812728
//DescribeDocProcessQueues()
@@ -2694,8 +2741,7 @@ function GetPrivateM3U8() {
26942741
//CancelMediaJob();
26952742
//DescribeMediaJob();
26962743
//DescribeMediaJobs();
2697-
//GetSnapshot();
2698-
//GetMediaInfo();
2744+
26992745
//CreateWorkflow();
27002746
//DeleteWorkflow();
27012747
//DescribeWorkflow();

index.d.ts

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,6 +1245,12 @@ declare namespace COS {
12451245
VersionId?: VersionId,
12461246
}
12471247

1248+
/** appendObject 接口参数 */
1249+
interface AppendObjectParams extends PutObjectParams {
1250+
/** 追加操作的起始点 */
1251+
Position: number;
1252+
}
1253+
12481254
// deleteObject
12491255
/** deleteObject 接口参数 */
12501256
interface DeleteObjectParams extends ObjectParams {}
@@ -1769,7 +1775,7 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */
17691775
data: UploadFileItemResult;
17701776
options: UploadFileItemParams;
17711777
}
1772-
type onFileFinish = (params: FileFinishInfo) => void;
1778+
type onFileFinish = (err: Error, data: UploadFileItemResult, options: UploadFileItemParams) => void;
17731779

17741780
type UploadFileParams = (PutObjectParams | SliceUploadFileParams) & {
17751781
/** 要上传的本地文件路径 */
@@ -1848,11 +1854,13 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */
18481854
/** 请求里的 Url Query 参数 */
18491855
Query?: Query,
18501856
/** 请求里的 Body 参数 */
1851-
Body?: Body,
1857+
Body?: Body | string,
18521858
/** 请求的 API 动作接口(可理解为不带 = 的 Query 参数),如 acl、tagging、image_process 等 */
18531859
Action?: Action,
18541860
/** 请求url */
18551861
Url?: string,
1862+
/** 返回值body是否不需要解析 */
1863+
RawBody?: boolean,
18561864
}
18571865
/** Request 接口返回值 */
18581866
interface RequestResult extends GeneralResult {
@@ -2256,19 +2264,27 @@ declare class COS {
22562264
/** 判断上传队列是否有未完成的任务 */
22572265
isUploadRunning(): boolean;
22582266

2259-
/** 分片复制文件 */
2267+
/** cos.request */
22602268
request(params: COS.RequestParams, callback: (err: COS.CosError, data: COS.RequestResult) => void): void;
22612269
request(params: COS.RequestParams): Promise<COS.RequestResult>;
22622270

22632271
/** 获取文件下载链接 @see https://cloud.tencent.com/document/product/436/35651 */
22642272
getObjectUrl(params: COS.GetObjectUrlParams, callback: (err: COS.CosError, data: COS.GetObjectUrlResult) => void): string;
22652273

2274+
/** 追加上传 @see https://cloud.tencent.com/document/product/436/7741 */
2275+
appendObject(params: COS.AppendObjectParams, callback: (err: COS.CosError, data: COS.GeneralResult) => void): void;
2276+
appendObject(params: COS.AppendObjectParams): Promise<COS.GeneralResult>;
2277+
22662278
/** 获取 COS JSON API (v4) 签名 @see https://cloud.tencent.com/document/product/436/6054 */
22672279
getV4Auth(params: COS.GetV4AuthParams): COS.Authorization;
22682280

22692281
/** 获取 COS XMl API (v5) 签名 @see https://cloud.tencent.com/document/product/436/7778 */
22702282
getAuth(params: COS.GetAuthParams): COS.Authorization;
22712283

2284+
on(action: string, callback: (params?: any) => void): void;
2285+
off(action: string, callback: (params?: any) => void): void;
2286+
emit(action: string, data?: any): void;
2287+
22722288
}
22732289

22742290
export = COS;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cos-nodejs-sdk-v5",
3-
"version": "2.10.10",
3+
"version": "2.11.3",
44
"description": "cos nodejs sdk v5",
55
"main": "index.js",
66
"types": "index.d.ts",

0 commit comments

Comments
 (0)