Skip to content

Commit 8cfd4f1

Browse files
committed
fix rsf
1 parent 485a0f8 commit 8cfd4f1

File tree

4 files changed

+117
-115
lines changed

4 files changed

+117
-115
lines changed

Docs/README.md

Lines changed: 104 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,46 @@
11
---
2-
title: C# SDK
2+
layout: docs
3+
title: C# SDK 使用指南
34
---
45

6+
# C# SDK 使用指南
57

68
此 C# SDK 适用于.net framework>4.0版本,基于 [七牛云存储官方API](http://docs.qiniu.com/) 构建。使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。无论您的网络应用是一个网站程序,还是包括从云端(服务端程序)到终端(手持设备应用)的架构的服务或应用,通过七牛云存储及其 SDK,都能让您应用程序的终端用户高速上传和下载,同时也让您的服务端更加轻盈。
79

8-
目录
9-
----
10-
- [1. 安装](#install)
11-
- [2. 初始化](#setup)
12-
- [2.1 配置密钥](#setup-key)
13-
- [3. 资源管理接口](#rs-api)
14-
- [3.1 查看单个文件属性信息](#rs-stat)
15-
- [3.2 复制单个文件](#rs-copy)
16-
- [3.3 移动单个文件](#rs-move)
17-
- [3.4 删除单个文件](#rs-delete)
18-
- [3.5 批量操作](#batch)
19-
- [3.5.1 批量获取文件属性信息](#batch-stat)
20-
- [3.5.2 批量复制文件](#batch-copy)
21-
- [3.5.3 批量移动文件](#batch-move)
22-
- [3.5.4 批量删除文件](#batch-delete)
23-
- [4. 资源列表](#rsf-api)
24-
- [5. 上传下载接口](#get-and-put-api)
25-
- [5.1 上传授权](#token)
26-
- [5.1.1 生成uptoken](#make-uptoken)
27-
- [5.2 文件上传](#upload)
28-
- [5.2.1 普通上传](#io-upload)
29-
- [5.2.2 断点续上传](#resumable-io-upload)
30-
- [5.3 文件下载](#io-download)
31-
- [5.3.1 公有资源下载](#public-download)
32-
- [5.3.2 私有资源下载](#private-download)
33-
- [6. 数据处理接口](#fop-api)
34-
- [6.1 图像](#fop-image)
35-
- [6.1.1 查看图像属性](#fop-image-info)
36-
- [6.1.2 查看图片EXIF信息](#fop-exif)
37-
- [6.1.3 生成图片预览](#fop-image-view)
38-
- [6.1.4 图片高级处理(缩略、裁剪、旋转、转化)](#fop-image-mogr)
39-
- [6.1.5 图像水印接口](#fop-image-watermarker)
40-
- [7. 贡献代码](#contribution)
41-
- [8. 许可证](#license)
42-
43-
44-
----
10+
- [安装](#install)
11+
- [初始化](#setup)
12+
- [配置密钥](#setup-key)
13+
- [资源管理接口](#rs-api)
14+
- [查看单个文件属性信息](#rs-stat)
15+
- [复制单个文件](#rs-copy)
16+
- [移动单个文件](#rs-move)
17+
- [删除单个文件](#rs-delete)
18+
- [批量操作](#batch)
19+
- [批量获取文件属性信息](#batch-stat)
20+
- [批量复制文件](#batch-copy)
21+
- [批量移动文件](#batch-move)
22+
- [批量删除文件](#batch-delete)
23+
- [资源列表](#rsf-api)
24+
- [上传下载接口](#get-and-put-api)
25+
- [上传策略](#putpolicy)
26+
- [ 文件上传](#upload)
27+
- [普通上传](#io-upload)
28+
- [断点续上传](#resumable-io-upload)
29+
- [文件下载](#io-download)
30+
- [公有资源下载](#public-download)
31+
- [私有资源下载](#private-download)
32+
- [数据处理接口](#fop-api)
33+
- [图像](#fop-image)
34+
- [查看图像属性](#fop-image-info)
35+
- [查看图片EXIF信息](#fop-exif)
36+
- [生成图片预览](#fop-image-view)
37+
- [图片高级处理(缩略、裁剪、旋转、转化)](#fop-image-mogr)
38+
- [图像水印接口](#fop-image-watermark)
39+
- [贡献代码](#contribution)
40+
- [许可证](#license)
4541

4642
<a name=install></a>
47-
## 1. 安装
43+
## 安装
4844
下载:
4945

5046
git clone http://github.com/qiniu/csharp-sdk
@@ -63,8 +59,9 @@ DLL引用方式:
6359
项目地址:[http://json.codeplex.com](http://json.codeplex.com)
6460

6561
<a name=setup-key></a>
66-
### 2.1 配置密钥
62+
### 配置密钥
6763

64+
服务端使用。
6865

6966
要接入七牛云存储,您需要拥有一对有效的 Access Key 和 Secret Key 用来进行签名认证。可以通过如下步骤获得:
7067

@@ -79,8 +76,27 @@ qiniu.conf.ACCESS_KEY = "<YOUR_APP_ACCESS_KEY>"
7976
qiniu.conf.SECRET_KEY = "<YOUR_APP_SECRET_KEY>"
8077
```
8178

79+
或者,编译配置文件app.conf或者web.conf等文件,添加以下配置项:
80+
81+
``` xml
82+
<appSettings>
83+
<add key="USER_AGENT" value="" />
84+
<add key="ACCESS_KEY" value="" />
85+
<add key="SECRET_KEY" value="" />
86+
<add key="RS_HOST" value="" />
87+
<add key="UP_HOST" value="" />
88+
<add key="RSF_HOST" value="" />
89+
<add key="PREFETCH_HOST" value="" />
90+
</appSettings>
91+
```
92+
93+
添加完成后,在程序启动的时候调用`Qiniu.Conf.Config.Init()`进行初始化。
94+
8295
<a name=rs-api></a>
83-
## 3. 资源管理接口
96+
## 资源管理接口
97+
98+
服务端使用。
99+
84100
基本的数据结构定义:
85101

86102
```c#
@@ -143,7 +159,7 @@ public class EntryPathPair
143159
```
144160

145161
<a name=rs-stat></a>
146-
### 3.1 查看单个文件属性信息
162+
### 查看单个文件属性信息
147163

148164
```c#
149165
//example
@@ -155,7 +171,7 @@ using Qiniu.RS
155171
/// <param name="bucket">七牛云存储空间名</param>
156172
/// <param name="key">文件key</param>
157173
public static void Stat(string bucket, string key)
158-
{
174+
{
159175
RSClient client = new RSClient();
160176
Entry entry = client.Stat(new EntryPath(bucket, key));
161177
if (entry.OK)
@@ -174,7 +190,7 @@ public static void Stat(string bucket, string key)
174190
```
175191

176192
<a name=rs-copy></a>
177-
### 3.2 复制单个文件
193+
### 复制单个文件
178194

179195
```c#
180196
//example
@@ -202,7 +218,7 @@ public static void Copy(string bucketSrc, string keySrc, string bucketDest, stri
202218
```
203219

204220
<a name=rs-move></a>
205-
### 3.3 移动单个文件
221+
### 移动单个文件
206222

207223
```c#
208224
//example
@@ -233,7 +249,7 @@ public static void Move(string bucketSrc, string keySrc, string bucketDest, stri
233249
```
234250

235251
<a name=rs-delete></a>
236-
### 3.4 删除单个文件
252+
### 删除单个文件
237253

238254
```C#
239255
//example
@@ -260,10 +276,10 @@ public static void Delete(string bucket, string key)
260276
```
261277

262278
<a name=batch></a>
263-
### 3.5 批量操作
279+
### 批量操作
264280
当您需要一次性进行多个操作时, 可以使用批量操作.
265281
<a name=batch-stat></a>
266-
#### 3.5.1 批量获取文件属性信息
282+
#### 批量获取文件属性信息
267283

268284
```C#
269285
//example
@@ -282,7 +298,7 @@ public static void BatchStat(string bucket, string[] keys)
282298
```
283299

284300
<a name=batch-copy></a>
285-
#### 3.5.2 批量复制文件
301+
#### 批量复制文件
286302

287303
```C#
288304
//example
@@ -301,7 +317,7 @@ public static void BatchCopy(string bucket, string[] keys)
301317
```
302318

303319
<a name=batch-move></a>
304-
#### 3.5.3 批量移动文件
320+
#### 批量移动文件
305321

306322
```c#
307323
//example
@@ -320,7 +336,7 @@ public static void BatchMove(string bucket, string[] keys)
320336
```
321337

322338
<a name=batch-delete></a>
323-
#### 3.5.4 批量删除文件
339+
#### 批量删除文件
324340

325341
```c#
326342
//example
@@ -339,7 +355,10 @@ public static void BatchDelete(string bucket, string[] keys)
339355
```
340356

341357
<a name=rsf-api></a>
342-
## 4. 资源列表
358+
## 资源列表
359+
360+
服务端使用。
361+
343362
资源列表接口允许用户列出空间下的所有文件信息。使用资源列表接口如果引入Qiniu.RSF命名空间。
344363

345364
```c#
@@ -365,26 +384,31 @@ public static void List (string bucket)
365384
```
366385

367386
<a name=get-and-put-api></a>
368-
## 5. 上传下载接口
387+
## 上传下载接口
388+
389+
服务端或客户端使用。
369390

370-
<a name=token></a>
371-
### 5.1 上传下载授权
372-
<a name=make-uptoken></a>
373-
#### 5.1.1 上传授权uptoken
374-
uptoken是一个字符串,作为http协议Header的一部分(Authorization字段)发送到我们七牛的服务端,表示这个http请求是经过认证的。
391+
<a name=putpolicy></a>
392+
### 上传策略
393+
394+
PutPolicy类用于定制上传策略,关于上传策略完整的说明,请参考[上传策略(PutPolicy)](http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html)
395+
396+
uptoken 实际上是用 AccessKey/SecretKey对上传策略进行数字签名的字符串,用于上传接口。
375397

376398
```c#
399+
string bucketName = "test";
377400
PutPolicy put = new PutPolicy(bucketName);
378-
put.Token();
401+
string uptoken = put.Token();
379402
```
403+
380404

381405
<a name=upload></a>
382-
### 5.2 文件上传
406+
### 文件上传
383407
**注意**:如果您只是想要上传已存在您电脑本地或者是服务器上的文件到七牛云存储,可以直接使用七牛提供的 [qrsync](/tools/qrsync.html/) 上传工具。
384408
文件上传有两种方式,一种是以普通方式直传文件,简称普通上传,另一种方式是断点续上传,断点续上传在网络条件很一般的情况下也能有出色的上传速度,而且对大文件的传输非常友好。
385409

386410
<a name=io-upload></a>
387-
### 5.2.1 普通上传
411+
### 普通上传
388412
普通上传的接口在 `qiniu.io` 里,如下:
389413

390414
上传本地文件
@@ -399,7 +423,7 @@ put.Token();
399423
public static void PutFile(string bucket, string key, string fname)
400424
{
401425
var policy = new PutPolicy(bucket, 3600);
402-
string upToken = policy.Token();
426+
string upToken = policy.Token();
403427
PutExtra extra = new PutExtra { Bucket = bucket };
404428
IOClient client = new IOClient();
405429
client.PutFinished += new EventHandler<PutRet>((o, ret) => {
@@ -412,18 +436,16 @@ public static void PutFile(string bucket, string key, string fname)
412436
Console.WriteLine("Failed to PutFile");
413437
}
414438
});
415-
client.PutFile(upToken, key, fname, extra);
439+
client.PutFile(upToken, key, fname, extra);
416440
}
417441
```
418442

419-
为防止在上传较大文件时发生GUI界面出现假死现像,c# SDK的内部被设计为异步上传模式,您可以通过注册client的PutFinished事件获取上传结果。该事件无论上传是否会成功,都会被触发。
420-
421443
**注意: key必须采用utf8编码,如使用非utf8编码访问七牛云存储将反馈错误**
422444

423445
<a name=resumable-io-upload></a>
424-
### 5.2.2 断点续上传
446+
### 断点续上传
425447

426-
上传本地文件
448+
上传本地文件,示例如下:
427449

428450
```c#
429451
public static void ResumablePutFile(string bucket, string key, string fname)
@@ -461,15 +483,15 @@ public event EventHandler<PutNotifyErrorEvent> NotifyErr;
461483
```
462484

463485
<a name=io-download></a>
464-
### 5.3 文件下载
486+
### 文件下载
465487
七牛云存储上的资源下载分为 公有资源下载 和 私有资源下载 。
466488

467489
私有(private)是 Bucket(空间)的一个属性,一个私有 Bucket 中的资源为私有资源,私有资源不可匿名下载。
468490

469491
新创建的空间(Bucket)缺省为私有,也可以将某个 Bucket 设为公有,公有 Bucket 中的资源为公有资源,公有资源可以匿名下载。
470492

471493
<a name=public-download></a>
472-
#### 5.3.1 公有资源下载
494+
#### 公有资源下载
473495
如果在给bucket绑定了域名的话,可以通过以下地址访问。
474496

475497
[GET] http://<domain>/<key>
@@ -479,7 +501,7 @@ public event EventHandler<PutNotifyErrorEvent> NotifyErr;
479501
**注意: key必须采用utf8编码,如使用非utf8编码访问七牛云存储将反馈错误**
480502

481503
<a name=private-download></a>
482-
#### 5.3.2 私有资源下载
504+
#### 私有资源下载
483505
私有资源必须通过临时下载授权凭证(downloadToken)下载,如下:
484506

485507
[GET] http://<domain>/<key>?e=<deadline>&token=<downloadToken>
@@ -497,17 +519,20 @@ public static void MakeGetToken(string domain, string key)
497519
```
498520

499521
<a name=fop-api></a>
500-
## 6. 数据处理接口
522+
## 数据处理接口
523+
524+
服务端或客户端使用。
525+
501526
七牛支持在云端对图像, 视频, 音频等富媒体进行个性化处理。使用数据处理接口需要引入Qiniu.FileOp命名空间。
502527

503528
```c#
504529
using Qiniu.FileOp;
505530
```
506531

507532
<a name=fop-image></a>
508-
### 6.1 图像
533+
### 图像
509534
<a name=fop-image-info></a>
510-
### 6.1.1 查看图像属性
535+
### 查看图像属性
511536

512537
```c#
513538
string domain = "domain";
@@ -534,7 +559,7 @@ using Qiniu.FileOp;
534559
```
535560

536561
<a name=fop-exif></a>
537-
### 6.1.2 查看图片EXIF信息
562+
### 查看图片EXIF信息
538563

539564
```C#
540565
string exifURL = Exif.MakeRequest(url);
@@ -553,7 +578,7 @@ using Qiniu.FileOp;
553578

554579

555580
<a name=fop-image-view></a>
556-
### 6.1.3 生成图片预览
581+
### 生成图片预览
557582

558583
```c#
559584
ImageView imageView = new ImageView { Mode = 0, Width = 200, Height = 200, Quality = 90, Format = "gif" };
@@ -563,7 +588,7 @@ using Qiniu.FileOp;
563588
```
564589

565590
<a name=fop-image-mogr></a>
566-
### 6.1.4 图片高级处理(缩略、裁剪、旋转、转化)
591+
### 图片高级处理(缩略、裁剪、旋转、转化)
567592

568593
```c#
569594
ImageMogrify imageMogr = new ImageMogrify
@@ -581,7 +606,7 @@ using Qiniu.FileOp;
581606
```
582607

583608
<a name=fop-image-watermark></a>
584-
### 6.1.5 图像水印接口
609+
### 图像水印接口
585610

586611
```c#
587612
//文字水印
@@ -593,7 +618,7 @@ using Qiniu.FileOp;
593618
```
594619

595620
<a name=contribution></a>
596-
## 7. 贡献代码
621+
## 贡献代码
597622

598623
1. Fork
599624
2. 创建您的特性分支 (`git checkout -b my-new-feature`)
@@ -602,7 +627,7 @@ using Qiniu.FileOp;
602627
5. 然后到 github 网站的该 `git` 远程仓库的 `my-new-feature` 分支下发起 Pull Request
603628

604629
<a name=license></a>
605-
## 8. 许可证
630+
## 许可证
606631

607632
Copyright (c) 2013 qiniu.com
608633

0 commit comments

Comments
 (0)