开发者社区> 小特工作室> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

C#实现七牛云存储

简介: 云存储,就是把本地的资源文件存放至网络上,可以公网访问。相当于网盘功能,感觉非常方便。 这里介绍的是七牛云存储。有兴趣的可以去官方网站详看 根据官网的介绍,本身是提供SDK的,下载地址,大家可以根据自己开发的应用程序,下载对应的SDK包。
+关注继续查看

云存储,就是把本地的资源文件存放至网络上,可以公网访问。相当于网盘功能,感觉非常方便。

这里介绍的是七牛云存储。有兴趣的可以去官方网站详看

根据官网的介绍,本身是提供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即可

修改所在区域.png

 

七牛的图片地址

看,是不是so easy

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
栈的链式存储结构实现
栈的链式存储结构实现
8 0
一文带你了解云存储网关的计量项和计费项
本文主要介绍云存储网关计费概况,包括计费项和计费方式,您可以通过本文了解云存储网关服务费用收取详情。
1524 0
带你玩转七牛云存储——高级篇
七牛云图片存储优点 支持各种尺寸的图片缩放; 支持图片自动压缩; 支持水印添加:图片水印、文字水印两种模式; 图片防盗链,限制访问来源; 设置ip黑白名单,防止恶意盗刷、攻击; 自定义图片域名,看起来更具有归属性; 统计图片的各种访问数据; 支持上传日志文件,可保存30天,便于排除程序问题; 水印 灵活的水印配置:可设置位置、透明度等,同时支持图片和文字两种水印模式,如图: 图片处理 图片处理里面最好用的是生成各种缩略图,超好用只需要加参数就好。
1440 0
快速使用七牛云对象存储
最近,想使用图床,使用了七牛云的对象存储,另外一个很大的原因, 七牛云有免费的空间。 类似的产品有很多,阿里云、腾讯云,又拍云等,这些都没有用过,只是在公司的项目中使用过AWS的S3服务。
1849 0
Ueditor结合七牛云存储上传图片、附件和图片在线管理的实现和最新更新
最新下载地址: https://github.com/widuu/qiniu_ueditor_1.4.3 Ueditor七牛云存储版本 注意事项 老版本请查看 : https://github.com/widuu/qiniu_ueditor_1.
2747 0
云存储的“安全隐扰”
本文讲的是云存储的“安全隐扰”,尽管云以其低价及灵活诱惑着用户,但据Burton集团一分析师GeneRuth介绍,今天没有一个财富一百强用户在实时数据存储方面使用云存储服务。云是变革的催化剂,而不是一项技术,因此,据预计,云将带来人们对虚拟化的广泛采用。
1234 0
七牛云存储非常好用的,推荐一下
邀请好友加入七牛云服务,获得最高 40GB/月 的免费下载流量 使用下来感觉速度很不错,好东西拿给大家分享,推荐给你使用,相信你也会有同样很棒的体验。 注册并成为标准用户,即可享受免费的标准用户配额,这些套餐包含如下内容:   10GB 存储空间 每月 10GB 下载流量 每月 PUT/DELETE 10万次
1260 0
七牛云存储官方接口PHP版本
PHP SDKv6 此 SDK 适用于 PHP 5.1.0 及其以上版本。基于 七牛云存储官方API 构建。使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。
1255 0
+关注
小特工作室
自主研发NaviSoft框架,内置WinForm、WebMVC、Mobile(包括安卓和IOS)、WinCE等框架,同时还有代码生成器、开发工具等辅助开发的各类软件和工具
文章
问答
文章排行榜
最热
最新
相关电子书
更多
如何使用 AWS 搭建跨地区的应用体验
立即下载
下载云上奥运白皮书
立即下载
够快云——文件协作从这里开始
立即下载