Esempio n. 1
0
        private static void delete(BosOpenStorageService bos)
        {
            Console.WriteLine("删除程序启动..........");
            Console.WriteLine("请输入要删除的云文件key,key代表百度云上的文件夹名称");
            Console.WriteLine("例如: 输入testKey, 将会列出该文件夹下所有的文件(包含子孙文件夹内文件)");
            Console.WriteLine("输入111回到上层菜单");
            var flag = true;
            List <BosObjectSummary> list = new List <BosObjectSummary>();
            string key = "";

            while (flag)
            {
                key = Console.ReadLine();
                if (key == "111")
                {
                    return;
                }
                list = bos.ListObjects(bos.OssConfig.BucketName, key + "/");
                if (list.Count == 0)
                {
                    Console.WriteLine("该key下没有任何文件, 请重新输入, 输入111则退出");
                    continue;
                }
                Console.WriteLine("正在列出key下所有的文件");
                for (int i = 0; i < list.Count; i++)
                {
                    var obj = list[i];
                    Console.WriteLine("{0}-------{1}", (i + 1), obj.Key);
                }
                flag = false;
            }

            while (true)
            {
                Console.WriteLine("\n 确定删除请按y");
                var yes = Console.ReadLine();
                if (yes == "y")
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        try
                        {
                            bos.deleteObject(bos.OssConfig.BucketName, list[i].Key);
                            Console.WriteLine("删除成功{0}---{1}", i + 1, list[i].Key);
                        }
                        catch (Exception ex) {
                            LogHelper.CreateErrorLogTxt(string.Format("{2}..删除文件失败 {0},  {1}", key, ex.Message, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")));
                        }
                    }
                    break;
                }
            }
            list = bos.ListObjects(bos.OssConfig.BucketName, key + "/");
            if (list.Count == 0)
            {
                Console.WriteLine("\n\n 全部删除成功");
            }
            else
            {
                Console.WriteLine("\n\n 删除失败, 仍有下列文件未删除");
                for (int i = 0; i < list.Count; i++)
                {
                    var obj = list[i];
                    Console.WriteLine("{0}-------{1}", (i + 1), obj.Key);
                }
            }
            Console.ReadLine();
        }