安装
官方文档:developer.qiniu.com/kodo/1237/c…
Nuget 搜索安装 Qiniu
首先控制器写一个post接口接受上传的文件
[HttpPost]
public void UploadImage(IFormFile imgFile)
{
userServices.UploadImage(imgFile);
}
密钥, 可以在七牛云控制台找到, ak 和sk;
Bucket 储存空间名
bucket接口文档:developer.qiniu.com/kodo/3941/t…
string Bucket = "image"; //七牛云储存空间的名字
string AccessKey = "VuDqYiw8qQobmajri.......";
string SecretKey = "0zr9oI_1cqJrvKlC0.......";
AK SK 密钥
上传方法
Zone 上传空间时选择的机房
| 机房地区 | 值 |
|---|---|
| 华 东 | ZONE_CN_East |
| 华 北 | ZONE_CN_North |
| 华 南 | ZONE_CN_South |
| 北 美 | ZONE_US_North |
| 东南亚 | ZONE_AS_Singapore |
//返回值根据业务定
public void UploadImage(IFormFile file)
{
//参数可配置在appsetting.json中
string Bucket = "..."; //文件储存空间
string AccessKey = "VuDqYiw8qQobmajrimB1。。。";
string SecretKey = "0zr9oI_1cqJrvKlC02-C。。。";
// 获取到上传文件名
string key = file.FileName;
//转Stream流
Stream stream = file.OpenReadStream();
Mac mac = new Mac(AccessKey, SecretKey);
//获取到用户凭证
PutPolicy putPolicy = new PutPolicy();
putPolicy.Scope = Bucket;
string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString());
Config config = new Config();
// 空间对应的机房华南华北。。。
config.Zone = Zone.ZONE_CN_South;
// 是否使用https域名
config.UseHttps = true;
// 上传是否使用cdn加速
config.UseCdnDomains = true;
config.ChunkSize = ChunkUnit.U512K;
// 上传
FormUploader target = new FormUploader(config);
HttpResult result = target.UploadStream(stream, key, token, null);
//打印返回值
Console.WriteLine("form upload result: " + result.ToString());
}
访问地址一般都是域名加目录名加文件名。