七牛云存储, 简单测试上传,参数该如何填写? 语言C#

新手上路,请多包涵

先上七牛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) 未经授权。

疑问:
上传文件是不是要有个密钥或者数字签名什么的东西? 否则不是任何人只要知道空间名就可以上传吗?
如果有这样的东西,应该在哪里设置呢?

阅读 4.3k
1 个回答
新手上路,请多包涵

找到问题了,因为没有设置 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()进行初始化。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进