Skip to content

Commit b444427

Browse files
committed
add docs for mkbucket and uptoken-upload; do little adjustment
1 parent 8f37206 commit b444427

File tree

1 file changed

+53
-38
lines changed

1 file changed

+53
-38
lines changed

Docs/README.md

Lines changed: 53 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk](https://github.com/qiniu
1515
**云存储接口**
1616

1717
- [新建资源表](#rs-NewService)
18-
- [获得上传授权](#rs-PutAuth)
1918
- [上传文件](#rs-PutFile)
19+
- [服务器端上传](#server-PutFile)
20+
- [客户端使用授权URL上传](#client-PutFile)
21+
- [客户端使用UpToken上传](#client-PutFileWithUpToke)
2022
- [获取已上传文件信息](#rs-Stat)
2123
- [下载文件](#rs-Get)
2224
- [发布公开资源](#rs-Publish)
@@ -58,8 +60,6 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk](https://github.com/qiniu
5860

5961
### 1. 新建资源表
6062

61-
新建资源表的意义在于,您可以将所有上传的资源分布式加密存储在七牛云存储服务端后还能保持相应的完整映射索引。
62-
6363
// 首先定义资源表名
6464
string tableName = "tableName";
6565

@@ -68,48 +68,63 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk](https://github.com/qiniu
6868

6969
// 签名认证完成后,即可使用该认证来新建资源表
7070
RSService rs = new RSService(conn, tableName);
71-
72-
73-
<a name="rs-PutAuth"></a>
74-
75-
### 2. 获得上传授权
76-
77-
客户端上传文件之前需要取得上传授权。所谓上传授权,就是获得一个可匿名直传的临时有效URL。实例代码如下:
78-
79-
// 调用资源表对象的 putAuth() 方法来获得上传授权
80-
PutAuthRet putAuthRet = rs.PutAuth();
81-
82-
83-
如果请求成功,putAuthRet 会包含 Url 和 Expires 两个字段。Url 字段对应的值为匿名上传的临时URL,Expires 对应的值则是该临时URL的有效期。
71+
CallRet callRet = rs.MkBucket();
8472

8573
<a name="rs-PutFile"></a>
8674

87-
### 3. 上传文件
75+
### 2. 上传文件
8876

8977
七牛云存储上传文件的方式分为服务器端上传和客户端上传两种。
9078

91-
##### 1. 服务器端上传
79+
<a name="server-PutFile"></a>
9280

93-
上传某个本地文件,示例代码如下:
81+
##### 2.1 服务器端上传
9482

9583
// 调用资源表对象的 PutFile() 方法进行文件上传
9684
PutFileRet putFileRet = rs.PutFile(key, mimeType, filePath, customMeta);
97-
98-
##### 2. 客户端上传
99-
100-
因为服务器端已经在之前进行过签名认证持有相应的安全凭证,因此可以直接进行上传。而由于客户端并不持有对RS的安全凭证,所以需要获取上传授权,从而得到一个有上传权限的URL,参见[获得上传授权](#rs-PutAuth)。在获得上传授权URL后,就可以开始上传文件了,示例代码如下:
10185

102-
// 在客户端上传文件之前,需要获得上传授权,得到经过授权的临时URL
86+
<a name="client-PutFile"></a>
87+
88+
##### 2.2 客户端使用授权URL上传
89+
90+
###### 2.2.1 获取经过授权的临时URL
91+
92+
客户端上传文件之前需要取得上传授权,可以是一个临时有效URL。
93+
94+
// 调用资源表对象的 putAuth() 方法来获取授权的临时URL
10395
PutAuthRet putAuthRet = rs.PutAuth();
10496
uploadUrl = putAuthRet.Url;
97+
98+
如果请求成功,putAuthRet 会包含 Url 和 Expires 两个字段。Url 字段对应的值为匿名上传的临时 URL,Expires 对应的值则是该临时 URL 的有效期。
99+
100+
###### 2.2.2 使用临时URL上传文件
105101

106102
// 通过该临时 URL 进行文件上传
107103
PutFileRet putFileRet = RSClient.PutFile(uploadUrl, tableName, key, mimeType,
108104
filePath, customMeta, callbackParam);
109105

106+
<a name="client-PutFileWithUpToke"></a>
107+
108+
##### 2.3 客户端使用UpToken上传
109+
110+
###### 2.3.1 生成用于上传文件的临时凭证UpToken
111+
112+
客户端上传文件之前需要取得上传授权,可以一个 UpToken,UpToken 是服务器端颁发给客户端的上传凭证,参数 expires 对应的值则是该 UpToken 的有效期。
113+
114+
// 生成 UpToken
115+
var authPolicy = new AuthPolicy(tabletName, expires);
116+
string upToken = authPolicy.MakeAuthTokenString();
117+
118+
###### 2.3.2 使用UpToken上传文件
119+
120+
// 使用 UpToken 上传文件
121+
PutFileRet putFileRet = RSClient.PutFileWithUpToken(
122+
upToken, tableName, key, mimeType,
123+
filePath, customMeta, callbackParam);
124+
110125
<a name="rs-Stat"></a>
111126

112-
### 4. 获取已上传文件信息
127+
### 3. 获取已上传文件信息
113128

114129
您可以调用资源表对象的 Stat() 方法并传入一个 Key 来获取指定文件的相关信息。
115130

@@ -125,9 +140,9 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk](https://github.com/qiniu
125140

126141
<a name="rs-Get"></a>
127142

128-
### 5. 下载文件
143+
### 4. 下载文件
129144

130-
要下载一个文件,首先需要取得下载授权,所谓下载授权,就是取得一个临时合法有效的下载链接,只需传入相应的文件 Key 和下载要保存的文件名作为参数即可,示例代码如下:
145+
要下载一个文件,首先需要取得下载授权,所谓下载授权,就是取得一个临时合法有效的下载链接,只需传入相应的文件 Key 和下载要保存的文件名作为参数即可
131146

132147
// 下载资源表中的特定文件
133148
GetRet getRet = rs.Get(key, filename);
@@ -144,39 +159,39 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk](https://github.com/qiniu
144159

145160
<a name="rs-Publish"></a>
146161

147-
### 6. 发布公开资源
162+
### 5. 发布公开资源
148163

149164
使用七牛云存储提供的资源发布功能,您可以将一个资源表里边的所有文件以静态链接可访问的方式公开发布到您自己的域名下。
150165

151-
要公开发布一个资源表里边的所有文件,只需调用该资源表对象的 Publish() 方法并传入域名作为参数即可。如下示例:
166+
要公开发布一个资源表里边的所有文件,只需调用该资源表对象的 Publish() 方法并传入域名作为参数即可。
152167

153168
// 公开发布某个资源表
154-
PublishRet publishRet = rs.Publish(DomainName);
169+
CallRet publishRet = rs.Publish(DomainName);
155170

156171
<a name="rs-Unpublish"></a>
157172

158-
### 7. 取消资源发布
173+
### 6. 取消资源发布
159174

160175
调用资源表对象的 Unpublish() 方法可取消该资源表内所有文件的静态外链。
161176

162177
// 取消公开发布某个资源表
163-
PublishRet unpublishRet = rs.Unpublish(DomainName);
178+
CallRet unpublishRet = rs.Unpublish(DomainName);
164179

165180
<a name="rs-Delete"></a>
166181

167-
### 8. 删除已上传的文件
182+
### 7. 删除已上传的文件
168183

169-
要删除指定的文件,只需调用资源表对象的 Delete() 方法并传入文件 key 作为参数即可。如下示例代码:
184+
要删除指定的文件,只需调用资源表对象的 Delete() 方法并传入文件 key 作为参数即可。
170185

171186
// 删除资源表中的某个文件
172-
DeleteRet deleteRet = rs.Delete(key);
187+
CallRet deleteRet = rs.Delete(key);
173188

174189
<a name="rs-Drop"></a>
175190

176-
### 9. 删除整张资源表
191+
### 8. 删除整张资源表
177192

178193
要删除整个资源表及该表里边的所有文件,可以调用资源表对象的 Drop() 方法。
179-
需慎重,这会删除整个表及其所有文件。如下示例代码:
194+
需慎重,这会删除整个表及其所有文件。
180195

181196
// 删除整个资源表
182-
DropRet dropRet = rs.Drop();
197+
CallRet dropRet = rs.Drop();

0 commit comments

Comments
 (0)