雲存儲,就是把本地的資源文件存放至網絡上,可以公網訪問。相當於網盤功能,感覺非常方便。
這里介紹的是七牛雲存儲。有興趣的可以去官方網站詳看
根據官網的介紹,本身是提供SDK的,下載地址,大家可以根據自己開發的應用程序,下載對應的SDK包。我下載的是C#版本,參考對應的API文檔,會發現最新SDK源碼和API文檔不一致。是的,文檔還沒有及時更新
因此,我在這里重新封裝一層,直接調用即可。代碼如下
先定義若干屬性(注冊七牛用戶時,由系統發放)
public static string AccessKey = null;
public static string SecretKey = null;
public static string Bucket = null;
public static string UrlPrefix { get; set; }
上傳文件
public static void UploadFile(string localFile, string saveKey)
{
// 上傳策略
PutPolicy putPolicy = new PutPolicy();
// 設置要上傳的目標空間
putPolicy.Scope = QiniuUtil.Bucket;
// 上傳策略的過期時間(單位:秒)
putPolicy.SetExpires(3600);
//// 文件上傳完畢后,在多少天后自動被刪除
//putPolicy.DeleteAfterDays = 1;
// 生成上傳憑證
//參考地址:https://segmentfault.com/q/1010000008205978
string jsonParam = JsonHelper.GetJsonByObject(putPolicy);
Mac mac = new Mac(QiniuUtil.AccessKey, QiniuUtil.SecretKey);
string uploadToken = Auth.CreateUploadToken(mac, jsonParam);
FormUploader upLoader = new FormUploader(false);
HttpResult result = upLoader.UploadFile(localFile, saveKey, uploadToken);
if (result.Code != 200)
{
throw new Exception(result.RefText);
}
return;
}
下載文件
public static void DownloadFile(string url, string localFileFullName)
{
//文件鏈接地址:http://oio2cxdal.bkt.clouddn.com/1/20170213231810.jpg
DownloadManager.Download(url, localFileFullName);
}
刪除文件
public static void DeleteFile(string saveKey)
{
Mac mac = new Mac(QiniuUtil.AccessKey, QiniuUtil.SecretKey);
BucketManager bm = new BucketManager(mac);
bm.Delete(QiniuUtil.Bucket, saveKey);
}
SDK中還有其他方法,比如:斷點續傳之類的,如有需要可以繼續封裝
調用代碼更簡單
QiniuUtil.AccessKey = "";
QiniuUtil.SecretKey = "";
QiniuUtil.Bucket = "";
QiniuUtil.UrlPrefix = "";
string saveKey = @"1/20170213231810.jpg";
////(OK)上傳文件
//string localFile = @"d:\TestImage2.jpg";
//QiniuUtil.UploadFile(localFile, saveKey);
////(OK)下載文件
//string localFile = @"d:\111.jpg";
//QiniuUtil.DownloadFile("http://oio2cxdal.bkt.clouddn.com/1/20170213231810.jpg", localFile);
//(OK)刪除文件
QiniuUtil.DeleteFile(saveKey);
要注意的是,七牛會根據地區分配它的服務器,也就是說,如果你在華南,就不能使得華東的服務器操作。這里要修改下源碼,位置如下
沒有源碼,直接調用方法Config.SetZone即可

看,是不是so easy
