七牛云上传

.net 上传七牛云

七牛云快速入门文档:https://developer.qiniu.com/kodo/1233/console-quickstart

在使用之前首先要获取自己的AK和SK,地址>个人信息>密钥管理.

使用方法

通过NeGut下载Qiniu.Shared组件

创建文件管理控制器添加方法

如果向通过Swgger测试接口是否可用,需要在()加入IFormFile files
/// <summary>
        /// 简单上传-上传小文件
        /// </summary>
        [AllowAnonymous]//允许任何访问
        [HttpPost]
        public IActionResult UploadImgToQiNiu()

        {
            var formFile = HttpContext.Request.Form.Files;
            //这里的ak sk 可以写到配置文件中方便修改
            Mac mac = new Mac("你的AK", "你的SK");
            // 上传策略,参见 
            // https://developer.qiniu.com/kodo/manual/put-policy
            Qiniu.IO.Model.PutPolicy putPolicy = new Qiniu.IO.Model.PutPolicy();
            // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY"
            // putPolicy.Scope = bucket + ":" + saveKey;  
            //上传储存的空间名称
            putPolicy.Scope = "上传空间名称";
            // 上传策略有效期(对应于生成的凭证的有效期)          
            putPolicy.SetExpires(3600);
            // 上传到云端多少天后自动删除该文件,如果不设置(即保持默认默认)则不删除
            // putPolicy.DeleteAfterDays = 1;
            string jstr = putPolicy.ToJsonString();
            //获取上传凭证
            var uploadToken = Auth.CreateUploadToken(mac, jstr);

            //false 使用https 自动识别存储空间            
            Qiniu.Common.Config.AutoZone("你的AK", "上传空间名称", false);

            Qiniu.IO.UploadManager um = new Qiniu.IO.UploadManager();
            foreach (IFormFile file in formFile)//获取多个文件列表集合
            {
                if (file.Length > 0)
                {
                    Stream stream = file.OpenReadStream();
                    //var fileName = ContentDispositionHeaderValue
                    //.Parse(file.ContentDisposition)
                    //.FileName
                    //.Trim('"');
                    string fileName = file.FileName.Substring(file.FileName.LastIndexOf('.')); //文件扩展名
                    //DateTime.Now.ToString("yyyyMMddHHmmssffffff")
                    var saveKey = "Pic/" + Guid.NewGuid().ToString("N") + fileName;//重命名文件加上时间戳 其中上传地址也可以配置s   
                    HttpResult result = um.UploadStream(stream, saveKey, uploadToken);

                    if (result.Code == 200)
                    {
                        return Ok(result.Text);
                    }
                    else
                    {
                        throw new Exception(result.RefText);//上传失败错误信息
                    }
                }
            }
            return null;
        }

VUE+Element访问接口

将上传路径换成自己方法对应的接口.

显示需要在七牛云上面查看图片详情,即可访问,

posted @   喜东东三三  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示