Example #1
0
        /// <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));
        }
Example #2
0
        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
        }
Example #3
0
        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
            });
        }