Skip to content

Commit d189051

Browse files
committed
Merge pull request #72 from qiniu/develop
Release 6.0.0
2 parents bc85d3d + 194ed55 commit d189051

34 files changed

+2243
-1826
lines changed

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,3 @@ results
1717

1818
node_modules
1919
npm-debug.log
20-
demo/*.jpg
21-
demo/rtest.js
22-
demo/itest.js
23-
demo/put.sh

.npmignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
test/
2+
test-env.sh
23
.travis.yml
34
coverage.html
45
lib-cov/
56
Makefile
67
docs/
7-
demo/

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
language: node_js
22
node_js:
3+
- 0.10
34
- 0.8
45
- 0.6
56
before_script:
67
- export QINIU_ACCESS_KEY="nnwjTeUgpQdfZp9cb4-iHK0EUlebKCNk4kXwoStq"
78
- export QINIU_SECRET_KEY="Ia9pXC-XEcGF6hvu1V5fdRhwFLpeUkCbt0Gxk5NW"
9+
- export QINIU_TEST_BUCKET="test741"
10+
- export QINIU_TEST_DOMAIN="test741.qiniudn.com"

CHANGELOG.md

Lines changed: 4 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,7 @@
1-
#CHANGELOG
1+
## CHANGE LOG
22

3-
## v2.4.3
3+
### v6.0.0
44

5-
2013-02-22
6-
7-
Issue [#54](https://github.com/qiniu/nodejs-sdk/pull/54):
8-
9-
- 去除对自定义 generateQueryString() 函数的依赖,使用 querystring 包的 stringify() 函数。
10-
- auth.PutPolicy 增加对 returnBody 的支持,用户可自定义上传完文件后的返回值。
11-
12-
## v2.4.2
13-
14-
Issue [#48](https://github.com/qiniu/nodejs-sdk/pull/48):
15-
16-
- 去除 auth.GetPolicy.scope 的默认值:"*/*"
17-
18-
Issue [#46](https://github.com/qiniu/nodejs-sdk/pull/46):
19-
20-
- 更新 v2.4.1 的文档(docs/README.md)
21-
22-
23-
## v2.4.1
24-
25-
2013-02-09
26-
27-
Issue [#43](https://github.com/qiniu/nodejs-sdk/pull/43):
28-
29-
- imageMogr bugfix: auto-orient
30-
- auth.UploadToken, auth.DownloadToken 改为 auth.PutPolicy, auth.GetPolicy
31-
- auth.UploadToken.generateToken() 改为 auth.PutPolicy.token()
32-
- auth.DownloadToken.generateToken() 改为 auth.GetPolicy.token()
33-
- auth.DownloadToken.pattern 改为 auth.GetPolicy.scope
34-
35-
36-
## v2.4.0
37-
38-
2013-01-23
39-
40-
Issue [#36](https://github.com/qiniu/nodejs-sdk/pull/36):
41-
42-
- 增加 auth.DownloadToken 类
43-
- auth.UploadToken 增加:escape、asyncOps 成员,generateSignature 改名为 generateToken
44-
- 增加 rs.copy, rs.move, rs.batchGet, rs.batchStat, rs.batchDelete, rs.batchCopy, rs.batchMove
45-
- 增加 Travis-CI 的支持
46-
47-
Issue [#32](https://github.com/qiniu/nodejs-sdk/pull/32):
48-
49-
- auth.UploadToken.generateSignature 各个参数调整为可选
50-
- uploadWithToken 非兼容调整: rs.uploadWithToken(uploadToken, stream, key, mimeType, customMeta, callbackParams, crc32, onret)
51-
- generateActionString 非兼容调整: action = util.generateActionString(bucket, key, mimeType, customMeta, crc32)
52-
53-
54-
## v2.3.2
55-
56-
2012-12-31
57-
58-
- 修复crc32编码
59-
- 修复使用UploadToken方式上传时流式上传bug,流式上传不检查crc32
60-
61-
62-
## v2.3.0
63-
64-
2012-11-23
65-
66-
- 启用新的 uploadToken(上传凭证)上传方式,可由客户方业务服务器生成上传凭证。上传前无需请求七牛云存储,减少http请求。
5+
2013-07-16 issue [#56](https://github.com/qiniu/nodejs-sdk/pull/56)
676

7+
- 遵循 [sdkspec v6.0.4](https://github.com/qiniu/sdkspec/tree/v6.0.4)

Makefile

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
11
TESTS = test/*.test.js
2+
TIMEOUT = 15000
23
REPORTER = spec
3-
TIMEOUT = 10000
4+
MOCHA_OPTS =
5+
test:
6+
@NODE_ENV=test ./node_modules/.bin/mocha \
7+
--require should \
8+
--reporter $(REPORTER) \
9+
--timeout $(TIMEOUT) \
10+
$(MOCHA_OPTS) \
11+
$(TESTS)
412

5-
test:
6-
@NODE_ENV=test ./node_modules/mocha/bin/mocha \
7-
--reporter $(REPORTER) \
8-
--timeout $(TIMEOUT) \
9-
$(TESTS)
10-
11-
test-cov:
12-
@rm -rf ./lib-cov
13-
@$(MAKE) lib-cov
14-
@QINIU_COV=1 $(MAKE) test REPORTER=dot
13+
test-cov: lib-cov
14+
# @QINIU_COV=1 $(MAKE) test REPORTER=dot
1515
@QINIU_COV=1 $(MAKE) test REPORTER=html-cov > coverage.html
16+
@rm -rf ./lib-cov
17+
1618

1719
lib-cov:
18-
@jscoverage lib $@
20+
@jscoverage --no-highlight qiniu $@
21+
22+
clean:
23+
rm -rf ./lib-cov coverage.html
1924

20-
.PHONY: test-cov test lib-cov
25+
.PHONY: test-cov lib-cov test

README.md

Lines changed: 16 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -1,125 +1,34 @@
1-
# Node.js wrapper for Qiniu Resource (Cloud) Storage API
1+
# Qiniu Resource Storage SDK for Node.js
22

33
[![Build Status](https://travis-ci.org/qiniu/nodejs-sdk.png?branch=master)](https://travis-ci.org/qiniu/nodejs-sdk)
44

5-
![logo](http://qiniutek.com/images/logo-2.png)
5+
[![Qiniu Logo](http://qiniutek.com/images/logo-2.png)](http://qiniu.com/)
66

7-
该 SDK 适用于 Node.js 0.4.7 及其以上版本,基于 [七牛云存储官方API](/v3/api/) 构建。若您的服务端是一个基于 Node.js 编写的网络程序,使用此 SDK ,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。以便让您应用的终端用户进行高速上传和下载,同时也使得您的服务端更加轻盈。
7+
## 下载
88

9-
jscoverage: [85%](http://fengmk2.github.com/coverage/qiniu.html)
9+
### 从 npm 安装
1010

11-
## 安装
11+
这是我们建议的方式
1212

13-
npm install qiniu
13+
```
14+
npm install qiniu
15+
```
1416

15-
### 获取 ACCESS_KEY 和 SECRET_KEY
17+
### 从 release 版本下载
1618

17-
要对接七牛云存储服务,您需要七牛云存储服务端颁发给您的 `ACCESS_KEY``SECRET_KEY``ACCESS_KEY` 用于标识客户方的身份,在网络请求中会以某种形式进行传输。`SECRET_KEY` 作为私钥形式存放于客户方本地并不在网络中传递,`SECRET_KEY` 的作用是对于客户方发起的具体请求进行数字签名,用以保证该请求是来自指定的客户方并且请求本身是合法有效的。使用 `ACCESS_KEY` 进行身份识别,加上 `SECRET_KEY` 进行数字签名,即可完成应用接入与认证授权。
19+
下载地址:https://github.com/qiniu/nodejs-sdk/releases
1820

19-
您可以通过如下步骤获得 `ACCESS_KEY``SECRET_KEY`
21+
这里可以下载到旧版本的SDK,release 版本有版本号,有 [CHANGELOG](https://github.com/qiniu/nodejs-sdk/blob/develop/CHANGELOG.md),使用规格也会比较稳定。
2022

21-
1. [开通七牛开发者帐号](https://dev.qiniutek.com/signup)
22-
2. [登录七牛开发者自助平台,查看 ACCESS_KEY 和 SECRET_KEY](https://dev.qiniutek.com/account/keys)
23+
### 从 git 库下载
2324

24-
获取到 `ACCESS_KEY``SECRET_KEY` 之后,您就可以参考下面的示例代码进行接入使用了
25+
你可以直接用 git clone 下载源代码来使用。但是请注意非 master 分支的代码在规格上可能承受变更,应谨慎使用
2526

2627
## 使用
2728

28-
SDK 使用文档参考:[http://docs.qiniutek.com/v3/sdk/nodejs/](http://docs.qiniutek.com/v3/sdk/nodejs/)
29-
30-
### 示例程序
31-
32-
var qiniu = require('qiniu');
33-
34-
// 配置密钥
35-
qiniu.conf.ACCESS_KEY = '<Please apply your access key>';
36-
qiniu.conf.SECRET_KEY = '<Dont send your secret key to anyone>';
37-
38-
// 实例化带授权的 HTTP Client 对象
39-
var conn = new qiniu.digestauth.Client();
40-
41-
// 创建空间,也可以在开发者自助网站创建
42-
var bucket = 'yet_another_bucket';
43-
qiniu.rs.mkbucket(conn, bucket, function(resp) {
44-
console.log("\n===> Make bucket result: ", resp);
45-
if (resp.code != 200) {
46-
return;
47-
}
48-
});
49-
50-
// 实例化 Bucket 操作对象
51-
var rs = new qiniu.rs.Service(conn, bucket);
52-
53-
// 上传文件第1步
54-
// 生成上传授权凭证(uploadToken)
55-
var opts = {
56-
scope: "yet_another_bucket", // 可以是 "<bucketName>" 或 "<bucketName>:<key>"
57-
expires: 3600,
58-
callbackUrl: "http://www.example.com/notifications/qiniurs", // 可选
59-
callbackBodyType: "application/x-www-form-urlencoded", // 可选
60-
};
61-
var uploadPolicy = new qiniu.auth.PutPolicy(opts);
62-
var uploadToken = uploadPolicy.token();
63-
64-
// 上传文件第2步
65-
// 组装上传文件所需要的参数
66-
var key = __filename;
67-
var localFile = key,
68-
customMeta = "",
69-
callbackParams = {"bucket": bucket, "key": key},
70-
enableCrc32Check = false,
71-
mimeType = mime.lookup(key);
72-
73-
// 上传文件第3步
74-
// 上传文件
75-
rs.uploadFileWithToken(uploadToken, localFile, key, mimeType, customMeta, callbackParams, enableCrc32Check, function(resp){
76-
console.log("\n===> Upload File with Token result: ", resp);
77-
if (resp.code != 200) {
78-
// ...
79-
return;
80-
}
81-
82-
// 查看已上传文件属性信息
83-
rs.stat(key, function(resp) {
84-
console.log("\n===> Stat result: ", resp);
85-
if (resp.code != 200) {
86-
// ...
87-
return;
88-
}
89-
});
90-
});
91-
92-
93-
// 获取文件下载链接(含文件属性信息)
94-
var saveAsFriendlyName = key;
95-
rs.get(key, saveAsFriendlyName, function(resp) {
96-
console.log("\n===> Get result: ", resp);
97-
if (resp.code != 200) {
98-
// ...
99-
return;
100-
}
101-
});
102-
103-
// 删除已上传文件
104-
rs.remove(key, function(resp) {
105-
console.log("\n===> Delete result: ", resp);
106-
});
107-
108-
// 将bucket的内容作为静态内容发布
109-
var DEMO_DOMAIN = bucket + '.dn.qbox.me';
110-
rs.publish(DEMO_DOMAIN, function(resp){
111-
console.log("\n===> Publish result: ", resp);
112-
if (resp.code != 200){
113-
clear(rs);
114-
return;
115-
}
116-
});
117-
118-
// 删除bucket,慎用!
119-
rs.drop(function(resp){
120-
console.log("\n===> Drop result: ", resp);
121-
});
29+
参考文档:[七牛云存储 Node.js SDK 使用指南](https://github.com/qiniu/nodejs-sdk/tree/develop/docs)
12230

31+
旧版本的SDK(version < 6.0.0) [戳这里](http://docs.qiniutek.com/v3/sdk/nodejs/)
12332

12433
## 贡献代码
12534

@@ -131,7 +40,7 @@ SDK 使用文档参考:[http://docs.qiniutek.com/v3/sdk/nodejs/](http://docs.q
13140

13241
## 许可证
13342

134-
Copyright (c) 2012 qiniu.com
43+
Copyright (c) 2013 qiniu.com
13544

13645
基于 MIT 协议发布:
13746

0 commit comments

Comments
 (0)