zoukankan      html  css  js  c++  java
  • .Net Core实现将文件上传到七牛云存储

    功能:将文件上传到七牛云存储

    准备工作

    • 注册七牛账号,提交实名认证(基本上1天内内审核通过)
    • 登录七牛后台->对象存储->新建空间 (基本概念:https://developer.qiniu.com/kodo/manual/3978/the-basic-concept)
    • 新建空间后会有免费域名可以使用。但是:测试域名,限总流量,限单 IP 访问频率,限速,仅供测试使用,不能用于自定义域名的 CNAME。建议还是使用自己的已经ICP备案的域名
    • CDN加速域名(自己的ICP备案的域名)提交后有个处理过程(官方说最多三个小时),处理完成后给你一个CNAME。 如何配置CNAME?
    • 配置好CNAME后,接下来实现编码工作。

    编码实现

    • Nuget官方SDK

    • 获取AccessKey,SecretKey。登录七牛管理后台->个人信息->秘钥管理
    • 代码
     1 /// <summary>
     2         /// 实现将文件上传到七牛云
     3         /// </summary>
     4         /// <param name="stream">文件流</param>
     5         /// <param name="fileName">文件名称</param>
     6         /// <returns></returns>
     7         public UploadQiNiuResult UploadImgToQiNiu(byte[] stream, string fileName)
     8         {
     9             Mac mac = new Mac(BlogStatic.QiNiuInfo_AccessKey, BlogStatic.QiNiuInfo_SecretKey);
    10             // 上传策略,参见 
    11             // https://developer.qiniu.com/kodo/manual/put-policy
    12             PutPolicy putPolicy = new PutPolicy();
    13             // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY"
    14             // putPolicy.Scope = bucket + ":" + saveKey;
    15             var saveKey = string.Format("BlogImg/{0}/", DateTime.Now.ToString("yyyy/MM/dd")) + fileName;
    16             putPolicy.Scope = "blog:" + saveKey;
    17             // 上传策略有效期(对应于生成的凭证的有效期)          
    18             putPolicy.SetExpires(3600);
    19             // 上传到云端多少天后自动删除该文件,如果不设置(即保持默认默认)则不删除
    20             // putPolicy.DeleteAfterDays = 1;
    21             string jstr = putPolicy.ToJsonString();
    22             //获取上传凭证
    23             var uploadToken = Auth.CreateUploadToken(mac, jstr);
    24             UploadManager um = new UploadManager();
    25 
    26             HttpResult result = um.UploadData(stream, saveKey, uploadToken);
    27 
    28             if (result.Code == 200)
    29             {
    30                 return JsonConvert.DeserializeObject<UploadQiNiuResult>(result.Text);
    31             }
    32             return null;
    33         }
    • UploadQiNiuResult类
    • 1     public class UploadQiNiuResult
      2     {
      3         public string Hash { get; set; }
      4         public string Key { get; set; }
      5     }

    引用:

    七牛官方文档

  • 相关阅读:
    获取设备和 App 信息
    使用 UICollectionView 实现网格化视图效果
    UIImage 读取图片内存优化
    使用 stretchableImageWithLeftCapWidth 方法实现可伸缩图片
    使用 StoryBoard 实现左右按钮切换图片的浏览效果
    二维码图片生成(扩展知识:创建带圆角效果的图片)
    Objective-C语法之扩展(Extension)的使用
    Objective-C语法之字符串NSString去掉前后空格或回车符(可以是NSCharacterSet类型的其它字符)
    Objective-C语法之可变参数
    什么时候layoutSubview会被调用
  • 原文地址:https://www.cnblogs.com/q975261413/p/8046781.html
Copyright © 2011-2022 走看看