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

 

相关文章
|
Web App开发 存储
七牛云存储非常好用的,推荐一下
邀请好友加入七牛云服务,获得最高 40GB/月 的免费下载流量 使用下来感觉速度很不错,好东西拿给大家分享,推荐给你使用,相信你也会有同样很棒的体验。 注册并成为标准用户,即可享受免费的标准用户配额,这些套餐包含如下内容:   10GB 存储空间 每月 10GB 下载流量 每月 PUT/DELETE 10万次
1495 0
|
存储 Linux API
七牛云存储初探
2014年9月25日 12:02:05 七牛的api支持类似Linux的管道处理 "|" 但是要是实现对一张图片同时进行缩放和加水印的处理时,必须先对原图加水印,然后再缩放: imgurl?| http://www.zhangzhibin.com/test/index/qiniu_image
938 0
|
存储 对象存储 前端开发
七牛云存储开发图片上传功能
1、注册登录七牛云,并实名认证,对象存储控制台,新增bucket存储空间 2、nodejs服务器安装npm install qiniu --save const common = require('.
1032 0
|
存储 JavaScript 前端开发
带你玩转七牛云存储——高级篇
七牛云图片存储优点 支持各种尺寸的图片缩放; 支持图片自动压缩; 支持水印添加:图片水印、文字水印两种模式; 图片防盗链,限制访问来源; 设置ip黑白名单,防止恶意盗刷、攻击; 自定义图片域名,看起来更具有归属性; 统计图片的各种访问数据; 支持上传日志文件,可保存30天,便于排除程序问题; 水印 灵活的水印配置:可设置位置、透明度等,同时支持图片和文字两种水印模式,如图: 图片处理 图片处理里面最好用的是生成各种缩略图,超好用只需要加参数就好。
1775 0
|
存储 API 数据安全/隐私保护
上手七牛云存储
早就听说过七牛云存储,终于有时间上手实践。   1、第一步,注册七牛账号,由于是测试,首先申请的是个人账号   2、注册成功之后,默认是体验账号,每月只有1G的空间容量及1G的下载流量         3、账号认证,认证成功之后将升级为标准账号,每月有10G的空间容量及20G的下载流量       虽然认证麻烦了些,但看得出来,七牛还是很良心的,这种免费套餐对于一般的小型网站应用来说应该是足够了 说明一下,认证表单里,有一个“个人网址”的文本框,一开始我以为是空间的自定义域名,后来试了一下,应该就是个人网站地址,可以随便填,不影响使用。
1682 0
|
存储 NoSQL Java
Java实现七牛云文件或图片上传下载
Java实现七牛云文件或图片上传下载
868 0
Java实现七牛云文件或图片上传下载
|
存储 JSON 数据格式
移动应用图片的福音--七牛云存储
  本篇来介绍移动应用图片存储的第三方,官方网址:http://www.qiniu.com/   首先,在七牛上要注册开发者账号,需要认证身份证信息。认证完之后,我们来开始进行安卓端的开发。 一、准备信息   进行图片的上传与下载,我们需要准备几个信息,首先是空间名,然后是域名,再者是密钥对。
998 0
|
存储 PHP 数据安全/隐私保护
Ueditor结合七牛云存储上传图片、附件和图片在线管理的实现和最新更新
最新下载地址: https://github.com/widuu/qiniu_ueditor_1.4.3 Ueditor七牛云存储版本 注意事项 老版本请查看 : https://github.com/widuu/qiniu_ueditor_1.
3146 0
|
5月前
|
存储 前端开发 Java
学成在线笔记+踩坑(5)——【媒资模块】上传视频,断点续传
上传视频,MinIO断点续传、检查文件/分块、上传分块、合并分块
学成在线笔记+踩坑(5)——【媒资模块】上传视频,断点续传
微信公众平台开发(80) 上传下载多媒体文件
微信公众账号在回复图片、语音、视频的时候,将使用media_id来调用相关文件,很多朋友咨询这个如何开发实现。本文将介绍在微信公众平台开发过程中,如何上传下载多媒体文件。   一、上传多媒体文件 公众号可调用本接口来上传图片、语音、视频等文件到微信服务器,上传后服务器会返回对应的media_id,公众号此后可根据该media_id来获取多媒体。
1369 0

热门文章

最新文章