C#實現七牛雲端儲存

來源:互聯網
上載者:User

標籤: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#實現七牛雲端儲存

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.