Exemple #1
0
        public static async Task <List <string> > ListFile(string prefix = "image")
        {
            GenerateToken();
            var mgr        = new Qiniu.RS.BucketManager(macKey);
            var listResult = await mgr.ListAsync(bucket, prefix, "", 20, "");

            return(listResult.Result.Items.Select(x => x.Key).ToList());
        }
Exemple #2
0
 public static async Task DeleteImage(string[] saveKey)
 {
     GenerateToken();
     var mgr = new Qiniu.RS.BucketManager(macKey);
     await mgr.BatchDeleteAsync(bucket, saveKey);
 }
Exemple #3
0
        public IActionResult QNAPI()
        {
            string cmd = RouteData.Values["id"]?.ToString().ToLower();
            //桶
            string bucketName = Request.Form["bucket"].ToString();

            var mac = new Mac(AccessQN.AK, AccessQN.SK);

            Qiniu.Common.Config.SetZone(Qiniu.Common.ZoneID.CN_East, true);
            var bucketManager = new Qiniu.RS.BucketManager(mac);

            var exc = new List <string>()
            {
                "index.html", "favicon.svg", "favicon.ico"
            };

            string result = string.Empty;

            switch (cmd)
            {
            case "list":
            {
                string KeyWords = Request.Form["keywords"].ToString();

                var list = bucketManager.ListFiles(bucketName, KeyWords, null, 1000, null);

                result = list.ToJson();
            }
            break;

            case "fetch":
            {
                string url = Request.Form["url"].ToString();

                string filename = url.Split('/').ToList().LastOrDefault() ?? "";
                int    fn       = filename.LastIndexOf('.');
                string ext      = string.Empty;
                string name     = filename.Substring(0, fn == -1 ? filename.Length : fn);
                string nameps   = "(fetch_" + DateTime.Now.ToTimestamp() + ")";
                if (fn >= 0)
                {
                    ext = filename.Substring(fn);
                }
                var rt = bucketManager.Fetch(url, bucketName, name + nameps + ext);
                result = rt.ToJson();
            }
            break;

            case "del":
            {
                var keys   = Request.Form["key"].ToString().Split(',').ToList();
                var listOp = new List <string>();
                foreach (string key in keys)
                {
                    if (!exc.Contains(key.ToLower()))
                    {
                        listOp.Add(bucketManager.DeleteOp(bucketName, key));
                    }
                }
                if (listOp.Count > 0)
                {
                    var rt = bucketManager.Batch(listOp.ToArray());
                    result = rt.ToJson();
                }
                else
                {
                    result = new
                    {
                        Result = "NotAllow"
                    }.ToJson();
                }
            }
            break;
            }

            return(Content(result));
        }