.net core上传图片到七牛

一,安装相关包

MQiniu.CoreSdk

 

二,在.net core中完成上传

见代码:

public string UploadQiniu(IFormFile file)
        {
            try
            {
                var mac = new Mac("ak","sk");
                var ex = Path.GetExtension(file.FileName); //后缀
                if (ex == null || !((IList)FileTypes.FileType).Contains(ex.ToLower())) return string.Empty;
                var key = $"{file.FileName}/{DateTime.Now.Year}/{DateTime.Now:yyyyMMddHHmmssfff}{ex}";

                PutExtra extra = new PutExtra();
                PutPolicy putPolicy = new PutPolicy { Scope = "空间名称"};

                // 如果需要设置为"覆盖"上传(如果云端已有同名文件则覆盖),请使用 SCOPE = "BUCKET:KEY"
                // putPolicy.Scope = bucket + ":" + saveKey;
                //putPolicy.Scope = Bucket;

                putPolicy.SetExpires(3600);

                // 上传到云端多少天后自动删除该文件,如果不设置(即保持默认)则不删除
                //putPolicy.DeleteAfterDays = 40;
                var token = Qiniu.Util.Auth.CreateUploadToken(mac, putPolicy.ToJsonString());
                Config config = new Config
                {
                    //Zone = Zone.ZONE_CN_East,
                    UseHttps = true,
                    UseCdnDomains = true,
                    ChunkSize = ChunkUnit.U512K
                };
                // 设置上传区域
                // 设置 http 或者 https 上传
                // 表单上传
                FormUploader target = new FormUploader(config);
                HttpResult result = target.UploadStream(file.OpenReadStream(), key, token, extra);
                if (result.Code == 200) return key;//此处返回文件名
            }
            catch (Exception ex)
            {
                return string.Empty;
            }

            return string.Empty;
        }
     //文件类型
        private static class FileTypes
        {
            public static readonly string[] FileType = { ".jpg", ".png", ".jpeg", ".gif", ".bmp" };
        }

 

 

 

注:拿来即用

posted @ 2021-12-26 22:31  董某的智慧所在  阅读(66)  评论(0)    收藏  举报