Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## CHANGE LOG

### v2.4.0

2013-02-19

Issue [#10](https://github.com/qiniu/csharp-sdk/pull/10):

- QBox.Auth.AuthPolicy 增加成员:CallbackBodyType, Escape, AsyncOps, ReturnBody
- DownloadToken支持:增加 QBox.Auth.DownloadPolicy 类
- 增加 PutAuth 支持:增加 QBox.Auth.PutAuthClient 类
- 非兼容调整:QBox.RS.Client 改名为 QBox.RPC.Client
- 简易断点续上传支持: 增加 QBox.RS.ResumablePut 类
- hotfix: 修复了 Base64 编码不支持中文的情况(QBox/Util)

123 changes: 53 additions & 70 deletions Demo/Demo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using QBox.Auth;
using QBox.RS;
using QBox.FileOp;
using QBox.RPC;

namespace QBox.Demo
{
Expand All @@ -10,39 +11,41 @@ public class Demo
public static string bucketName;
public static string key;
public static string localFile;
public static string bigkey;
public static string bigFile;
public static string DEMO_DOMAIN;
public static Client conn;
public static RSService rs;
public static ImageOp imageOp;

public static void Main()
{
Config.ACCESS_KEY = "<Please apply your access key>";
Config.SECRET_KEY = "<Dont send your secret key to anyone>";

bucketName = "csharpbucket";
DEMO_DOMAIN = "csharpbucket.dn.qbox.me";
localFile = "Resource/gogopher.jpg";
bucketName = "yourbucket";
DEMO_DOMAIN = bucketName + ".qiniudn.com";
key = "gogopher.jpg";
localFile = "Resource/gogopher.jpg";
bigkey = key;
bigFile = localFile;

conn = new DigestAuthClient();
rs = new RSService(conn, bucketName);
imageOp = new ImageOp(conn);

MkBucket();
RSClientPutFile();
Get();
Stat();
Publish();
UnPublish();
Delete();
Get(key);
ResumablePutFile();
Stat(bigkey);
Delete(key);
Drop();

MkBucket();
RSPutFile();
Publish();
ImageOps();

MakeDownloadToken();

Console.ReadLine();
}

Expand Down Expand Up @@ -70,52 +73,45 @@ public static void RSPutFile()

public static void RSClientPutFile()
{
Console.WriteLine("\n==> PutAuth");
PutAuthRet putAuthRet = rs.PutAuth();
PrintRet(putAuthRet);
if (putAuthRet.OK)
{
Console.WriteLine("Expires: " + putAuthRet.Expires.ToString());
Console.WriteLine("Url: " + putAuthRet.Url);
}
else
{
Console.WriteLine("Failed to PutAuth");
}
Console.WriteLine("\n===> RSClient Generate UpToken");
var authPolicy = new AuthPolicy(bucketName, 3600);
string upToken = authPolicy.MakeAuthTokenString();
Console.WriteLine("upToken: " + upToken);

Console.WriteLine("\n===> RSClient.PutFile");
PutFileRet putFileRet = RSClient.PutFile(putAuthRet.Url, bucketName, key, null, localFile, null, "key=<key>");
Console.WriteLine("\n===> RSClient.PutFileWithUpToken");
PutFileRet putFileRet = RSClient.PutFileWithUpToken(upToken, bucketName, key, null, localFile, null, "key=<key>");
PrintRet(putFileRet);
if (putFileRet.OK)
{
Console.WriteLine("Hash: " + putFileRet.Hash);
}
else
{
Console.WriteLine("Failed to RSClient.PutFile");
Console.WriteLine("Failed to RSClient.PutFileWithUpToken");
}
}

Console.WriteLine("\n===> Generate UpToken");
public static void ResumablePutFile()
{
Console.WriteLine("\n===> ResumablePut.PutFile");
var authPolicy = new AuthPolicy(bucketName, 3600);
string upToken = authPolicy.MakeAuthTokenString();
Console.WriteLine("upToken: " + upToken);

Console.WriteLine("\n===> RSClient.PutFileWithUpToken");
putFileRet = RSClient.PutFileWithUpToken(upToken, bucketName, key, null, localFile, null, "key=<key>");
PutAuthClient client = new PutAuthClient(upToken);
PutFileRet putFileRet = ResumablePut.PutFile(client, bucketName, bigkey, null, bigFile, null, "key=<key>");
PrintRet(putFileRet);
if (putFileRet.OK)
{
Console.WriteLine("Hash: " + putFileRet.Hash);
}
else
{
Console.WriteLine("Failed to RSClient.PutFileWithUpToken");
Console.WriteLine("Failed to ResumablePut.PutFile");
}
}

public static void Get()
public static void Get(string key)
{
Console.WriteLine("\n===> Get");
Console.WriteLine("\n===> RSService.Get");
GetRet getRet = rs.Get(key, "attName");
PrintRet(getRet);
if (getRet.OK)
Expand All @@ -130,7 +126,7 @@ public static void Get()
Console.WriteLine("Failed to Get");
}

Console.WriteLine("\n===> GetIfNotModified");
Console.WriteLine("\n===> RSService.GetIfNotModified");
getRet = rs.GetIfNotModified(key, "attName", getRet.Hash);
PrintRet(getRet);
if (getRet.OK)
Expand All @@ -146,9 +142,9 @@ public static void Get()
}
}

public static void Stat()
public static void Stat(string key)
{
Console.WriteLine("\n===> Stat");
Console.WriteLine("\n===> RSService.Stat");
StatRet statRet = rs.Stat(key);
PrintRet(statRet);
if (statRet.OK)
Expand All @@ -164,9 +160,9 @@ public static void Stat()
}
}

public static void Delete()
public static void Delete(string key)
{
Console.WriteLine("\n===> Delete");
Console.WriteLine("\n===> RSService.Delete");
CallRet deleteRet = rs.Delete(key);
PrintRet(deleteRet);
if (!deleteRet.OK)
Expand All @@ -177,7 +173,7 @@ public static void Delete()

public static void Drop()
{
Console.WriteLine("\n===> Drop");
Console.WriteLine("\n===> RSService.Drop");
CallRet dropRet = rs.Drop();
PrintRet(dropRet);
if (!dropRet.OK)
Expand All @@ -186,32 +182,19 @@ public static void Drop()
}
}

public static void Publish()
public static void MakeDownloadToken()
{
Console.WriteLine("\n===> Publish");
CallRet publishRet = rs.Publish(DEMO_DOMAIN);
PrintRet(publishRet);
if (!publishRet.OK)
{
Console.WriteLine("Failed to Publish");
}
}

public static void UnPublish()
{
Console.WriteLine("\n===> UnPublish");
CallRet publishRet = rs.Unpublish(DEMO_DOMAIN);
PrintRet(publishRet);
if (!publishRet.OK)
{
Console.WriteLine("Failed to UnPublish");
}
Console.WriteLine("\n===> Auth.MakeDownloadToken");
string pattern = "*/*";
var downloadPolicy = new DownloadPolicy(pattern, 3600);
string dnToken = downloadPolicy.MakeAuthTokenString();
Console.WriteLine("dnToken: " + dnToken);
}

public static void ImageOps()
{
Console.WriteLine("\n===> ImageInfo");
ImageInfoRet infoRet = imageOp.ImageInfo("http://" + DEMO_DOMAIN + "/" + key);
Console.WriteLine("\n===> FileOp.ImageInfo");
ImageInfoRet infoRet = ImageOp.ImageInfo("http://" + DEMO_DOMAIN + "/" + key);
PrintRet(infoRet);
if (infoRet.OK)
{
Expand All @@ -225,34 +208,34 @@ public static void ImageOps()
Console.WriteLine("Failed to ImageInfo");
}

Console.WriteLine("\n===> ImageExif");
CallRet exifRet = imageOp.ImageExif("http://" + DEMO_DOMAIN + "/" + key);
Console.WriteLine("\n===> FileOp.ImageExif");
CallRet exifRet = ImageOp.ImageExif("http://" + DEMO_DOMAIN + "/" + key);
PrintRet(exifRet);
if (!exifRet.OK)
{
Console.WriteLine("Failed to ImageExif");
}

Console.WriteLine("\n===> ImageViewUrl");
Console.WriteLine("\n===> FileOp.ImageViewUrl");
ImageViewSpec viewSpec = new ImageViewSpec{Mode = 0, Width = 200, Height= 200};
string viewUrl = imageOp.ImageViewUrl("http://" + DEMO_DOMAIN + "/" + key, viewSpec);
string viewUrl = ImageOp.ImageViewUrl("http://" + DEMO_DOMAIN + "/" + key, viewSpec);
Console.WriteLine("ImageViewUrl 1:" + viewUrl);
viewSpec.Quality = 1;
viewSpec.Format = "gif";
viewUrl = imageOp.ImageViewUrl("http://" + DEMO_DOMAIN + "/" + key, viewSpec);
viewUrl = ImageOp.ImageViewUrl("http://" + DEMO_DOMAIN + "/" + key, viewSpec);
Console.WriteLine("ImageViewUrl 2:" + viewUrl);
viewSpec.Quality = 90;
viewSpec.Sharpen = 10;
viewSpec.Format = "png";
viewUrl = imageOp.ImageViewUrl("http://" + DEMO_DOMAIN + "/" + key, viewSpec);
viewUrl = ImageOp.ImageViewUrl("http://" + DEMO_DOMAIN + "/" + key, viewSpec);
Console.WriteLine("ImageViewUrl 3:" + viewUrl);

Console.WriteLine("\n===> ImageMogrifyUrl");
Console.WriteLine("\n===> FileOp.ImageMogrifyUrl");
ImageMogrifySpec mogrSpec = new ImageMogrifySpec {
Thumbnail = "!50x50r", Gravity = "center", Rotate = 90,
Crop = "!50x50", Quality = 80, AutoOrient = true
};
string mogrUrl = imageOp.ImageMogrifyUrl("http://" + DEMO_DOMAIN + "/" + key, mogrSpec);
string mogrUrl = ImageOp.ImageMogrifyUrl("http://" + DEMO_DOMAIN + "/" + key, mogrSpec);
Console.WriteLine("ImageMogrifyUrl:" + mogrUrl);

Console.WriteLine("\n===> Get");
Expand All @@ -269,7 +252,7 @@ public static void ImageOps()
{
Console.WriteLine("Failed to Get");
}
Console.WriteLine("\n===> ImageMogrifySaveAs");
Console.WriteLine("\n===> FileOp.ImageMogrifySaveAs");
PutFileRet saveAsRet = rs.ImageMogrifySaveAs(getRet.Url, mogrSpec, key + ".mogr-save-as");
PrintRet(saveAsRet);
if (saveAsRet.OK)
Expand Down
Loading