/// <summary> /// 获取bucket下的文件列表 /// </summary> /// <param name="prefix"></param> /// <param name="markerIn"></param> /// <param name="limit"></param> /// <returns></returns> public static async Task <IEnumerable <string> > ListAsync(string prefix = "", string markerIn = "", int limit = 0) { RSFClient client = new RSFClient(_bucket); DumpRet dumpRet = await client.ListPrefixAsync(_bucket, prefix, markerIn, limit); return(dumpRet.Items.Select(i => i.Key)); }
public async Task ListPrefixTest() #endif { RSFClient target = new RSFClient(Bucket); // TODO: 初始化为适当的值 target.Marker = string.Empty; target.Prefix = "csharp"; target.Limit = 3; DumpRet actual; #if NET20 || NET40 actual = target.ListPrefix(Bucket); foreach (DumpItem item in actual.Items) { Console.WriteLine("Key:{0},Hash:{1},Mime:{2},PutTime:{3},EndUser:{4}", item.Key, item.Hash, item.Mime, item.PutTime, item.EndUser); } //error params Assert.IsTrue(actual.Items.Count >= 3, "ListPrefixTest Failure"); #else actual = await target.ListPrefixAsync(Bucket); foreach (DumpItem item in actual.Items) { Console.WriteLine("Key:{0},Hash:{1},Mime:{2},PutTime:{3},EndUser:{4}", item.Key, item.Hash, item.Mime, item.PutTime, item.EndUser); } //error params Assert.True(actual.Items.Count >= 3, "ListPrefixTest Failure"); #endif }
private async Task <object> ListFile(string prefix = "image") { var start = int.Parse(Request.Query["start"].ToString()); var size = int.Parse(Request.Query["size"].ToString()); var rsf = new RSFClient(Config.Bucket); var files = await rsf.ListPrefixAsync(Config.Bucket, prefix); var list = files.Items.Select(p => string.Format("{0}/{1}{2}", Config.Domain, p.Key, prefix == "image" ? Config.Suffix : "")).OrderByDescending(p => p).Skip(start).Take(size).ToList(); return(new { state = "SUCCESS", list = list == null ? null : list.Select(x => new { url = x }), start = start, size = size, total = files.Items.Count }); }