標籤:secret nav tle cloud 連結 str 訪問 區分 config
雲端儲存,就是把本地的資源檔存放至網路上,可以公網訪問。相當於網盤功能,感覺非常方便。
這裡介紹的是七牛雲端儲存。有興趣的可以去官方網站詳看
根據官網的介紹,本身是提供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
C#實現七牛雲端儲存