先上七牛C#的SDK
http://developer.qiniu.com/docs/v6/sdk/csharp-sdk.html
就拿简单的 5.2.1.普通上传 来说
public static void PutFile(string bucket, string key, string fname)
{
var policy = new PutPolicy(bucket, 3600);
string upToken = policy.Token();
PutExtra extra = new PutExtra ();
IOClient client = new IOClient();
client.PutFile(upToken, key, fname, extra);
}
问题:
假设我要上传的空间域名是 abc.qiniudn.com
而图片是 D:\1\1.jpg
我要传的参数该怎么传呢?
尝试:
我试过
bucket = abc
key = 1.jpg
fname = D:\1\1.jpg
代码:
public static void PutFile(string bucket, string key, string fname)
{
var policy = new PutPolicy(bucket, 3600);
string upToken = policy.Token();
PutExtra extra = new PutExtra();
IOClient client = new IOClient();
PutRet ret = client.PutFile(upToken, key, fname, extra);
if (ret.OK)
{
Debug.WriteLine("OK");
}
else
{
Debug.WriteLine("FALSE");
}
}
结果:
远程服务器返回错误: (401) 未经授权。
疑问:
上传文件是不是要有个密钥或者数字签名什么的东西? 否则不是任何人只要知道空间名就可以上传吗?
如果有这样的东西,应该在哪里设置呢?
找到问题了,因为没有设置 Access Key 和 Secret Key, 设置过以后可以正常.
2.初始化
2.1.配置密钥
服务端使用。
要接入七牛云存储,您需要拥有一对有效的 Access Key 和 Secret Key 用来进行签名认证。可以通过如下步骤获得:
开通七牛开发者帐号
登录七牛开发者自助平台,查看 Access Key 和 Secret Key 。
在获取到 Access Key 和 Secret Key 之后,您可以在您的程序中调用如下两行代码进行初始化对接, 要确保ACCESS_KEY 和 SECRET_KEY 在调用所有七牛API服务之前均已赋值:
using Qiniu.Conf;
Qiniu.Conf.ACCESS_KEY = ""
Qiniu.Conf.SECRET_KEY = ""
或者,编译配置文件app.conf或者web.conf等文件,添加以下配置项:
添加完成后,在程序启动的时候调用Qiniu.Conf.Config.Init()进行初始化。