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()); }
public static async Task DeleteImage(string[] saveKey) { GenerateToken(); var mgr = new Qiniu.RS.BucketManager(macKey); await mgr.BatchDeleteAsync(bucket, saveKey); }
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)); }