@@ -18,8 +18,10 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk/tags](https://github.com/
1818** 云存储接口**
1919
2020- [ 新建资源表] ( #rs-NewService )
21- - [ 获得上传授权] ( #rs-PutAuth )
2221- [ 上传文件] ( #rs-PutFile )
22+ - [ 服务器端上传] ( #server-PutFile )
23+ - [ 客户端使用授权URL上传] ( #client-PutFile )
24+ - [ 客户端使用UpToken上传] ( #client-PutFileWithUpToke )
2325- [ 获取已上传文件信息] ( #rs-Stat )
2426- [ 下载文件] ( #rs-Get )
2527- [ 发布公开资源] ( #rs-Publish )
@@ -61,8 +63,6 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk/tags](https://github.com/
6163
6264### 1. 新建资源表
6365
64- 新建资源表的意义在于,您可以将所有上传的资源分布式加密存储在七牛云存储服务端后还能保持相应的完整映射索引。
65-
6666 // 首先定义资源表名
6767 string tableName = "tableName";
6868
@@ -71,48 +71,63 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk/tags](https://github.com/
7171
7272 // 签名认证完成后,即可使用该认证来新建资源表
7373 RSService rs = new RSService(conn, tableName);
74-
75-
76- <a name =" rs-PutAuth " ></a >
77-
78- ### 2. 获得上传授权
79-
80- 客户端上传文件之前需要取得上传授权。所谓上传授权,就是获得一个可匿名直传的临时有效URL。实例代码如下:
81-
82- // 调用资源表对象的 putAuth() 方法来获得上传授权
83- PutAuthRet putAuthRet = rs.PutAuth();
84-
85-
86- 如果请求成功,putAuthRet 会包含 Url 和 Expires 两个字段。Url 字段对应的值为匿名上传的临时URL,Expires 对应的值则是该临时URL的有效期。
74+ CallRet callRet = rs.MkBucket();
8775
8876<a name =" rs-PutFile " ></a >
8977
90- ### 3 . 上传文件
78+ ### 2 . 上传文件
9179
9280七牛云存储上传文件的方式分为服务器端上传和客户端上传两种。
9381
94- ##### 1. 服务器端上传
82+ < a name = " server-PutFile " ></ a >
9583
96- 上传某个本地文件,示例代码如下:
84+ ##### 2.1 服务器端上传
9785
9886 // 调用资源表对象的 PutFile() 方法进行文件上传
9987 PutFileRet putFileRet = rs.PutFile(key, mimeType, filePath, customMeta);
10088
101- ##### 2. 客户端上传
89+ <a name =" client-PutFile " ></a >
90+
91+ ##### 2.2 客户端使用授权URL上传
10292
103- 因为服务器端已经在之前进行过签名认证持有相应的安全凭证,因此可以直接进行上传。而由于客户端并不持有对RS的安全凭证,所以需要获取上传授权,从而得到一个有上传权限的URL,参见 [ 获得上传授权 ] ( #rs-PutAuth ) 。在获得上传授权URL后,就可以开始上传文件了,示例代码如下:
93+ ###### 2.2.1 获取经过授权的临时URL
10494
105- // 在客户端上传文件之前,需要获得上传授权,得到经过授权的临时URL
95+ 客户端上传文件之前需要取得上传授权,可以是一个临时有效URL。
96+
97+ // 调用资源表对象的 putAuth() 方法来获取授权的临时URL
10698 PutAuthRet putAuthRet = rs.PutAuth();
10799 uploadUrl = putAuthRet.Url;
108100
101+ 如果请求成功,putAuthRet 会包含 Url 和 Expires 两个字段。Url 字段对应的值为匿名上传的临时 URL,Expires 对应的值则是该临时 URL 的有效期。
102+
103+ ###### 2.2.2 使用临时URL上传文件
104+
109105 // 通过该临时 URL 进行文件上传
110106 PutFileRet putFileRet = RSClient.PutFile(uploadUrl, tableName, key, mimeType,
111107 filePath, customMeta, callbackParam);
112108
109+ <a name =" client-PutFileWithUpToke " ></a >
110+
111+ ##### 2.3 客户端使用UpToken上传
112+
113+ ###### 2.3.1 生成用于上传文件的临时凭证UpToken
114+
115+ 客户端上传文件之前需要取得上传授权,可以一个 UpToken,UpToken 是服务器端颁发给客户端的上传凭证,参数 expires 对应的值则是该 UpToken 的有效期。
116+
117+ // 生成 UpToken
118+ var authPolicy = new AuthPolicy(tabletName, expires);
119+ string upToken = authPolicy.MakeAuthTokenString();
120+
121+ ###### 2.3.2 使用UpToken上传文件
122+
123+ // 使用 UpToken 上传文件
124+ PutFileRet putFileRet = RSClient.PutFileWithUpToken(
125+ upToken, tableName, key, mimeType,
126+ filePath, customMeta, callbackParam);
127+
113128<a name =" rs-Stat " ></a >
114129
115- ### 4 . 获取已上传文件信息
130+ ### 3 . 获取已上传文件信息
116131
117132您可以调用资源表对象的 Stat() 方法并传入一个 Key 来获取指定文件的相关信息。
118133
@@ -128,9 +143,9 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk/tags](https://github.com/
128143
129144<a name =" rs-Get " ></a >
130145
131- ### 5 . 下载文件
146+ ### 4 . 下载文件
132147
133- 要下载一个文件,首先需要取得下载授权,所谓下载授权,就是取得一个临时合法有效的下载链接,只需传入相应的文件 Key 和下载要保存的文件名作为参数即可,示例代码如下:
148+ 要下载一个文件,首先需要取得下载授权,所谓下载授权,就是取得一个临时合法有效的下载链接,只需传入相应的文件 Key 和下载要保存的文件名作为参数即可。
134149
135150 // 下载资源表中的特定文件
136151 GetRet getRet = rs.Get(key, filename);
@@ -147,39 +162,39 @@ SDK下载地址:[https://github.com/qiniu/csharp-sdk/tags](https://github.com/
147162
148163<a name =" rs-Publish " ></a >
149164
150- ### 6 . 发布公开资源
165+ ### 5 . 发布公开资源
151166
152167使用七牛云存储提供的资源发布功能,您可以将一个资源表里边的所有文件以静态链接可访问的方式公开发布到您自己的域名下。
153168
154- 要公开发布一个资源表里边的所有文件,只需调用该资源表对象的 Publish() 方法并传入域名作为参数即可。如下示例:
169+ 要公开发布一个资源表里边的所有文件,只需调用该资源表对象的 Publish() 方法并传入域名作为参数即可。
155170
156171 // 公开发布某个资源表
157- PublishRet publishRet = rs.Publish(DomainName);
172+ CallRet publishRet = rs.Publish(DomainName);
158173
159174<a name =" rs-Unpublish " ></a >
160175
161- ### 7 . 取消资源发布
176+ ### 6 . 取消资源发布
162177
163178调用资源表对象的 Unpublish() 方法可取消该资源表内所有文件的静态外链。
164179
165180 // 取消公开发布某个资源表
166- PublishRet unpublishRet = rs.Unpublish(DomainName);
181+ CallRet unpublishRet = rs.Unpublish(DomainName);
167182
168183<a name =" rs-Delete " ></a >
169184
170- ### 8 . 删除已上传的文件
185+ ### 7 . 删除已上传的文件
171186
172- 要删除指定的文件,只需调用资源表对象的 Delete() 方法并传入文件 key 作为参数即可。如下示例代码:
187+ 要删除指定的文件,只需调用资源表对象的 Delete() 方法并传入文件 key 作为参数即可。
173188
174189 // 删除资源表中的某个文件
175- DeleteRet deleteRet = rs.Delete(key);
190+ CallRet deleteRet = rs.Delete(key);
176191
177192<a name =" rs-Drop " ></a >
178193
179- ### 9 . 删除整张资源表
194+ ### 8 . 删除整张资源表
180195
181196要删除整个资源表及该表里边的所有文件,可以调用资源表对象的 Drop() 方法。
182- 需慎重,这会删除整个表及其所有文件。如下示例代码:
197+ 需慎重,这会删除整个表及其所有文件。
183198
184199 // 删除整个资源表
185- DropRet dropRet = rs.Drop();
200+ CallRet dropRet = rs.Drop();
0 commit comments