Exemplo n.º 1
0
        public static void ListObjects()
        {
            try
            {
                var           keys       = new List <string>();
                ObjectListing result     = null;
                string        nextMarker = string.Empty;
                do
                {
                    var listObjectsRequest = new ListObjectsRequest(bucketName)
                    {
                        Marker  = nextMarker,
                        MaxKeys = 100
                    };
                    result = ossClient.ListObjects(listObjectsRequest);

                    foreach (var summary in result.ObjectSummaries)
                    {
                        Console.WriteLine(summary.Key);
                        keys.Add(summary.Key);
                    }

                    nextMarker = result.NextMarker;
                } while (result.IsTruncated);
            }
            catch (OssException ex)
            {
                Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
                                  ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// 列出存储空间内的所有文件
 /// </summary>
 private static void ListObjects()
 {
     try
     {
         var           keys       = new List <string>();
         ObjectListing result     = null;
         string        nextMarker = string.Empty;
         /// 由于ListObjects每次最多返回100个结果,所以,这里需要循环去获取,直到返回结果中IsTruncated为false
         do
         {
             var listObjectsRequest = new ListObjectsRequest(_bucketName)
             {
                 Marker  = nextMarker,
                 MaxKeys = 100
             };
             result = _client.ListObjects(listObjectsRequest);
             foreach (var summary in result.ObjectSummaries)
             {
                 keys.Add(summary.Key);
             }
             nextMarker = result.NextMarker;
         } while (result.IsTruncated);
         Console.WriteLine("列出存储空间中的文件");
         foreach (var key in keys)
         {
             Console.WriteLine("文件名称:{0}", key);
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("列出存储空间中的文件失败.原因: {0}", ex.Message);
     }
 }
Exemplo n.º 3
0
        private void button6_Click(object sender, EventArgs e)
        {
            var           client     = new OssClient(endpoint, accessKeyId, accessKeySecret);
            var           keys       = new List <string>();
            ObjectListing result     = null;
            string        nextMarker = string.Empty;
            string        downloadFilename;
            string        temdirname;

            show_log(" 正在监测是否有过期文件\r\n");
            do
            {
                var listObjectsRequest = new ListObjectsRequest(downok_bucketName)
                {
                    Marker  = nextMarker,
                    MaxKeys = 1000,
                    Prefix  = prefix,
                };
                result = client.ListObjects(listObjectsRequest);

                foreach (var summary in result.ObjectSummaries)
                {
                    keys.Add(summary.Key);

                    if ((summary.Size == 0) || ((DateTime.Now - summary.LastModified).Days > 3))
                    {
                        show_log(" 删除:" + summary.Key + "\r\n");
                        client.DeleteObject(bucketName, summary.Key);
                        continue;
                    }
                }
            }while (result.IsTruncated);

            show_log(" 完成监测是否有过期文件\r\n");
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取当前目录的子目录
        /// </summary>
        /// <param name="bucketName">oss磁盘名称</param>
        /// <param name="ossDirectory">文件夹路径</param>
        /// <returns></returns>
        public List <OssObjectSummary> ListObjectByDir(string bucketName, string ossDirectory = "")
        {
            List <OssObjectSummary> lps = new List <OssObjectSummary>();
            string        oss_prefix    = ossDirectory;// Properties.Settings.Default.osspath : ossDirectory;
            ObjectListing result        = null;
            string        nextMarker    = string.Empty;

            do
            {
                var listObjectsRequest = new ListObjectsRequest(bucketName)
                {
                    Marker  = nextMarker,
                    MaxKeys = 1000,
                    Prefix  = oss_prefix
                };
                result = client.ListObjects(listObjectsRequest);
                Console.WriteLine("System.IO.File:");
                foreach (var summary in result.ObjectSummaries)
                {
                    lps.Add(summary);
                    Console.WriteLine("Name:{0}", summary.Key);
                }
                nextMarker = result.NextMarker;
            } while (result.IsTruncated);
            return(lps);
        }
Exemplo n.º 5
0
        private static void DeleteObjectsOfBucket(string bucketName)
        {
            var           keys       = new List <string>();
            ObjectListing result     = null;
            string        nextMarker = string.Empty;

            do
            {
                var listObjectsRequest = new ListObjectsRequest(bucketName)
                {
                    Marker  = nextMarker,
                    MaxKeys = 100
                };
                result = client.ListObjects(listObjectsRequest);

                foreach (var summary in result.ObjectSummaries)
                {
                    keys.Add(summary.Key);
                }

                nextMarker = result.NextMarker;

                if (keys.Count != 0)
                {
                    client.DeleteObjects(new DeleteObjectsRequest(bucketName, keys));
                    keys.Clear();
                }
            } while (result.IsTruncated);
        }
Exemplo n.º 6
0
        public string GetNewUploadSequence(string string_0)
        {
            string text = string_0;
            int    num  = 100;

            if (text == null)
            {
                text = "";
            }
            if (text != "")
            {
                num = int.Parse(text);
            }
            for (int i = num; i < 999; i++)
            {
                ObjectListing objectListing = this.ossClient.ListObjects(this.bucketName, this.bucketDir + "/" + i.ToString());
                int           num2          = objectListing.ObjectSummaries.Count <OssObjectSummary>();
                if (num2 < 70)
                {
                    text = i.ToString();
                    return(text);
                }
            }
            return(text);
        }
Exemplo n.º 7
0
        private static bool listObjectsPage()
        {
            try
            {
                KS3Client ks3Client = new KS3Client(ak, sk);
                ks3Client.setEndpoint("kss.ksyun.com");

                ListObjectsRequest request = new ListObjectsRequest();
                request.setBucketName("ksc.harry");
                request.setMaxKeys(20);
                request.setDelimiter("/");
                ObjectListing objects = ks3Client.listObjects(request);

                Console.WriteLine(objects);
                Console.WriteLine(objects.isTruncated());
                Console.WriteLine(objects.getNextMarker());

                request.setMarker(objects.getNextMarker());

                objects = ks3Client.listObjects(request);

                Console.WriteLine(objects);
                Console.WriteLine(objects.isTruncated());
                Console.WriteLine(objects.getNextMarker());

                Console.WriteLine("---------------------------\n");
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.ToString());
                return(false);
            }

            return(true);
        }
Exemplo n.º 8
0
 /// <summary>
 /// 获取当前目录下,说有的文件
 /// </summary>
 /// <param name="bucketName">oss磁盘名称</param>
 /// <returns></returns>
 public List <OssObjectSummary> ListObject(string bucketName)
 {
     try
     {
         List <OssObjectSummary> lps    = new List <OssObjectSummary>();
         ObjectListing           result = null;
         string nextMarker = string.Empty;
         do
         {
             var listObjectsRequest = new ListObjectsRequest(bucketName)
             {
                 Marker  = nextMarker,
                 MaxKeys = 1000
             };
             result = client.ListObjects(listObjectsRequest);
             // Console.WriteLine("System.IO.File:");
             foreach (var summary in result.ObjectSummaries)
             {
                 lps.Add(summary);
                 // Console.WriteLine("Name:{0}", summary.Key);
             }
             nextMarker = result.NextMarker;
         } while (result.IsTruncated);
         return(lps);
     }
     catch (Exception ex)
     {
         //Console.WriteLine("List object failed. {0}", ex.Message);
         return(null);
     }
 }
Exemplo n.º 9
0
        public static List <string> GetFileUrls(string endpoint, string bucketName, string accessKeyId, string accessKeySecret, string folder = null)
        {
            List <string> urls = new List <string>();

            try
            {
                ObjectListing result     = null;
                string        nextMarker = string.IsNullOrEmpty(folder) ? "" : folder;

                var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
                do
                {
                    var listObjectsRequest = new ListObjectsRequest(bucketName)
                    {
                        MaxKeys = 1000,
                        Marker  = nextMarker,
                    };
                    result = client.ListObjects(listObjectsRequest);
                    foreach (var summary in result.ObjectSummaries)
                    {
                        if (!string.IsNullOrEmpty(folder) && summary.Key.StartsWith(folder))
                        {
                            urls.Add(summary.Key);
                        }
                    }
                    nextMarker = result.NextMarker;
                } while (result.IsTruncated);
            }
            catch (Exception e)
            {
            }
            return(urls);
        }
Exemplo n.º 10
0
        public async Task <List <ObjectListing> > getObjectListing(string buketName, string folderKey = "", bool hasDelimiter = false)
        {
            List <ObjectListing> resultList  = new List <ObjectListing>();
            ListObjectsRequest   listRequest = new ListObjectsRequest(buketName);

            if (folderKey != "")
            {
                listRequest.Prefix = folderKey;
            }

            if (hasDelimiter)
            {
                listRequest.Delimiter = "/";
            }
            ObjectListing reslut = await client.ListObjects(listRequest);

            resultList.Add(reslut);

            while (reslut.IsTrunked)
            {
                listRequest.Marker = reslut.NextMarker;
                reslut             = await client.ListObjects(listRequest);

                resultList.Add(reslut);
            }

            return(resultList);
        }
        public IEnumerable <OssObjectSummary> ListObjectWithSubDir()
        {
            List <OssObjectSummary> summaryList = new List <OssObjectSummary>();

            try
            {
                ObjectListing result     = null;
                string        nextMarker = string.Empty;
                do
                {
                    var listObjectsRequest = new ListObjectsRequest(bucketName)
                    {
                        Marker  = nextMarker,
                        MaxKeys = 100
                    };
                    result = client.ListObjects(listObjectsRequest);
                    summaryList.AddRange(result.ObjectSummaries);
                    nextMarker = result.NextMarker;
                } while (result.IsTruncated);
            }
            catch (OssException ex)
            {
                lastError = ex;
            }
            return(summaryList);
        }
Exemplo n.º 12
0
        public async Task refreshFolder(string buketName, string prefix = "")
        {
            ListObjectsRequest arg = new ListObjectsRequest(buketName);

            arg.Delimiter = @"/";
            arg.Prefix    = prefix;
            ObjectListing result = await client.ListObjects(arg);
        }
Exemplo n.º 13
0
        public List <FileInfoModel> GetFlolderList(BackgroundWorker worker, string path)
        {
            worker.ReportProgress(0, new ProgressState()
            {
                CurrentTitle = "开始读取文件列表"
            });
            try
            {
                List <FileInfoModel> list   = new List <FileInfoModel>();
                ObjectListing        result = null;
                string nextMarker           = string.Empty;
                do
                {
                    var listObjectsRequest = new ListObjectsRequest(BucketName)
                    {
                        Marker    = nextMarker,
                        MaxKeys   = 100,
                        Prefix    = path.Substring(1, path.Length - 1),
                        Delimiter = "/"
                    };
                    result = client.ListObjects(listObjectsRequest);

                    foreach (var summary in result.ObjectSummaries)
                    {
                        if (summary.Key != path.TrimStart('/'))
                        {
                            list.Add(SumToModel(summary));
                        }
                    }

                    foreach (var prefixes in result.CommonPrefixes)
                    {
                        list.Add(PathToModel(prefixes));
                    }
                    nextMarker = result.NextMarker;
                    worker.ReportProgress(100, new ProgressState()
                    {
                        CurrentTitle = "读取文件:" + list.Count
                    });
                } while (result.IsTruncated);


                return(list);
            }
            catch (Exception ee)
            {
                logger.Error("GetFlolderList Error:" + ee);
                return(new List <FileInfoModel>());
            }
        }
Exemplo n.º 14
0
    /// <summary>
    /// 获取所有的名字和后缀
    /// </summary>
    /// <returns></returns>
    public List <string> GetAllFileName()
    {
        ObjectListing list     = client.ListObjects(Config.Bucket);
        List <string> nameList = new List <string>();

        foreach (var item in list.ObjectSummaries)
        {
            if (Regex.IsMatch(item.Key, "/") == false)
            {
                nameList.Add(item.Key);
            }
        }
        return(nameList);
    }
Exemplo n.º 15
0
        public void Delete(string prefix)
        {
            OssClient     client = new OssClient(OssConfig.AccessId, OssConfig.AccessKey);
            ObjectListing ol     = null;

            do
            {
                ol = client.ListObjects(ossConfig.BucketName, prefix);
                foreach (var v in ol.ObjectSummaries)
                {
                    client.DeleteObject(ossConfig.BucketName, v.Key);
                    Console.WriteLine(v.Key + " 删除成功.");
                }
            } while (ol.IsTrunked);
        }
Exemplo n.º 16
0
        private void requestOssClient()
        {
            ObjectListing olist = null;

            if (ossClient == null)
            {
                ossClient = new OssClient(id, key);
            }
            ListObjectsRequest request = new ListObjectsRequest(bucketName);

            request.MaxKeys   = 1000;
            request.Delimiter = "/";
            request.Prefix    = MonitorFolder + "/";
            do
            {
                olist = ossClient.ListObjects(request);
                IEnumerable <OssObjectSummary> ossSumm = olist.ObjectSummaries;
                if (ossSumm.Count() > 0)
                {
                    foreach (OssObjectSummary obj in ossSumm)
                    {
                        //if (obj.Key.Contains(MonitorFolder))
                        {
                            MFileInfo fi      = new MFileInfo();
                            string    keyName = obj.Key;
                            if (keyName.IndexOf('/') > 0)
                            {
                                string[] str = keyName.Split('/');
                                fi.FileName = str[str.Length - 1];
                                fi.Size     = toSize(obj.Size);
                                DateTime time = obj.LastModified;
                                time            = time.AddHours(8);
                                fi.LastModified = time;
                                fi.MonitorName  = MonitorFolder;
                                fi.BucketName   = bucketName;
                                setDateTable(fi);
                            }
                        }
                    }
                    if (olist.IsTrunked)
                    {
                        request.Marker = olist.NextMarker;
                    }
                }
            } while (olist.IsTrunked);
            // loadData = filesHelper.select();
            textChanged();
        }
Exemplo n.º 17
0
        public List <string> GetMusics()
        {
            string        path    = "musics/";
            ObjectListing listing = client.ListObjects(config.BucketName, path);

            List <string> musics = new List <string>();

            foreach (OssObjectSummary item in listing.ObjectSummaries)
            {
                if (item.Key != path)
                {
                    musics.Add(Path.Combine(config.BucketDomainName, HttpUtility.UrlEncode(item.Key)));
                }
            }
            return(musics);
        }
Exemplo n.º 18
0
        /**
         * 根据指定Bucket名称获取Object的列表并填入表格
         */
        private void loadObjectList(String bucketName)
        {
            ObjectListing objList = ks3Client.listObjects(bucketName);

            IList <ObjectSummary> summaryList = objList.getObjectSummaries();

            foreach (ObjectSummary summary in summaryList)
            {
                String[] row = new string[] {
                    summary.getKey(),
                                   summary.getSize().ToString() + " B",
                                   summary.getLastModified().ToString()
                };
                this.objectsView.Rows.Add(row);
            }
        }
Exemplo n.º 19
0
        static void ListFromAliyun()
        {
            string marker      = markerJournal.Marker;
            int    listedCount = 0;
            long   totalSize   = 0;

            do
            {
                markerJournal.Update(marker);

                string actualPrefix = String.IsNullOrEmpty(PocConfig.SourceDir) ? PocConfig.Prefix : PocConfig.SourceDir + "/" + PocConfig.Prefix;

                ListObjectsRequest listObjectsReq = new ListObjectsRequest(PocConfig.SourceBucket)
                {
                    MaxKeys = PocConfig.ListStep,
                    Marker  = marker,
                    Prefix  = actualPrefix,
                };

                ObjectListing listedObjects = ossClient.ListObjects(listObjectsReq);
                marker = listedObjects.NextMarker;

                foreach (OssObjectSummary objectSummary in listedObjects.ObjectSummaries)
                {
                    Console.WriteLine("{0} (size:{1}; LMT:{2})", objectSummary.Key, objectSummary.Size, objectSummary.LastModified);
                    totalSize += objectSummary.Size;
                    AliyunToAzureTransferJob job = CreateTransferJob(objectSummary);

                    if (++listedCount > PocConfig.MaxFileNumber)
                    {
                        // goto Finish;
                    }

                    if (job == null)
                    {
                        continue;
                    }

                    jobQueue.Add(job);
                }
            }while (!string.IsNullOrEmpty(marker));

Finish:
            jobQueue.CompleteAdding();

            Console.WriteLine("List complete");
        }
Exemplo n.º 20
0
        // 根据路径匹配获取图片列表
        public static List <string> GetImagsList(string orginFileName)
        {
            var list = new List <string>();
            // 根据文件名称前缀去查询图片列表,一次查询20条数据,从第一个开始查询
            var listObjectsRequest = new ListObjectsRequest(bucketName)
            {
                Marker  = string.Empty,
                MaxKeys = 100,
                Prefix  = basePath + orginFileName,
            };
            ObjectListing result = client.ListObjects(listObjectsRequest);

            foreach (var summary in result.ObjectSummaries)
            {
                list.Add(summary.Key);
            }
            return(list);
        }
Exemplo n.º 21
0
        private async Task <IEnumerable <OssObjectSummary> > getObjListFromWeb(string buketName, string prefix = "")
        {
            List <OssObjectSummary> resultList  = new List <OssObjectSummary>();
            ListObjectsRequest      listRequest = new ListObjectsRequest(buketName);
            ObjectListing           reslut      = await client.ListObjects(listRequest);

            resultList.AddRange(reslut.ObjectSummaries);
            while (reslut.IsTrunked)
            {
                ListObjectsRequest listRequest2 = new ListObjectsRequest(buketName);
                listRequest2.Marker = reslut.NextMarker;
                reslut = await client.ListObjects(listRequest2);

                resultList.AddRange(reslut.ObjectSummaries);
            }

            return(resultList);
        }
Exemplo n.º 22
0
 public void updateCloudFileList()
 {
     try
     {
         ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName)
         {
             MaxKeys = 100,
         };
         ObjectListing result = client.ListObjects(listObjectsRequest);
         foreach (OssObjectSummary summary in result.ObjectSummaries)
         {
             this.cloudFileList.Add(summary.Key);
         }
     }
     catch (System.Exception ex)
     {
         throw new System.Exception("fail to get the file list!");
     }
 }
Exemplo n.º 23
0
        private static bool listObjects()
        {
            try
            {
                // List Objects
                Console.WriteLine("--- List Objects: ---");

                //ObjectListing objects = ks3Client.listObjects(bucketName);

                KS3Client ks3Client = new KS3Client("ak", "sk");
                ks3Client.setEndpoint("kss.ksyun.com");

                ListObjectsRequest request = new ListObjectsRequest();
                request.setBucketName("haofenshu");
                //request.setMarker("PersistenceServiceImpl.java");
                request.setPrefix("file/s/167206/1082/ClipedRecord.xml");
                request.setDelimiter("/");
                ObjectListing objects = ks3Client.listObjects(request);


                //Console.WriteLine(objects.ToString());
                Console.WriteLine("---------------------\n");

                // Get Object Metadata
                Console.WriteLine("--- Get Object Metadata ---");

                //ObjectMetadata objMeta = ks3Client.getObjectMetadata(bucketName, objKeyNameMemoryData);
                //Console.WriteLine(objMeta.ToString());
                //Console.WriteLine();
                ObjectMetadata objMeta = ks3Client.getObjectMetadata(bucketName, objKeyNameFileData);
                Console.WriteLine(objMeta.ToString());

                Console.WriteLine("---------------------------\n");
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.ToString());
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// 根据款号查询文件夹位置
        /// </summary>
        /// <param name="style"></param>
        /// <returns></returns>
        public string GetObjectlist(string style)
        {
            const string     accessId   = "X9foTnzzxHCk6gK7";
            const string     accessKey  = "ArQYcpKLbaGweM8p1LQDq5kG1VIMuz";
            const string     endpoint   = "http://oss-cn-shenzhen.aliyuncs.com";
            const string     bucketName = "best-bms";
            ListPartsRequest lir        = new ListPartsRequest(bucketName, accessKey, accessId);

            Aliyun.OpenServices.ClientConfiguration configu = new Aliyun.OpenServices.ClientConfiguration();
            OssClient client     = new OssClient(endpoint, accessId, accessKey);
            string    Uploadpath = "";
            DataTable tab        = new DataTable();

            tab.Columns.Add("Cat", typeof(string));
            tab.Columns.Add("Cat2", typeof(string));
            tab.Columns.Add("Style", typeof(string));
            tab.Columns.Add("Scode", typeof(string));
            tab.Columns.Add("Image", typeof(string));
            try
            {
                ObjectListing list = client.ListObjects(bucketName);
                IEnumerable <OssObjectSummary> objects = list.ObjectSummaries;

                string[] arr;
                foreach (OssObjectSummary ob in objects)
                {
                    arr = ob.Key.Split('/');
                    if (arr.Length == 5)
                    {
                        tab.Rows.Add(new object[] { arr[1], arr[2], arr[3], arr[4] });
                        if (arr[3] == style)//查找style文件夹
                        {
                            Uploadpath = arr[0] + "/" + arr[1] + "/" + arr[2] + "/" + arr[3] + "/";
                        }
                    }
                }
            }
            catch (OssException ex)
            {
            }
            return(Uploadpath);
        }
Exemplo n.º 25
0
        private static List <string> ListFile(string backupFilePath)
        {
            var keys   = new List <string>();
            var dir    = new DirectoryInfo(backupFilePath);
            var prefix = $"{BaseObjectName.TrimEnd('/')}/{dir.Name}";
            var client = new OssClient(Endpoint, AccessKeyId, AccessKeySecret);

            try
            {
                ObjectListing result     = null;
                string        nextMarker = string.Empty;
                do
                {
                    var listObjectsRequest = new ListObjectsRequest(BucketName)
                    {
                        Marker  = nextMarker,
                        MaxKeys = 200,
                        Prefix  = prefix,
                    };
                    result = client.ListObjects(listObjectsRequest);
                    var list = result.ObjectSummaries.ToList().OrderByDescending(d => d.LastModified).Skip(MaxSizeRollBackups).ToList();
                    foreach (var summary in list)
                    {
                        Console.WriteLine(summary.Key);
                        keys.Add(summary.Key);
                    }
                    nextMarker = result.NextMarker;
                } while (result.IsTruncated);
                Console.WriteLine("List objects of bucket:{0} succeeded ", BucketName);
            }
            catch (OssException ex)
            {
                Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
                                  ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }
            return(keys);
        }
        /// <summary>
        /// 判断该货号文件夹是否存在
        /// </summary>
        /// <param name="Scode"></param>
        /// <returns></returns>
        public bool ScodeExist(string Scode)
        {
            const string  accessId   = "X9foTnzzxHCk6gK7";
            const string  accessKey  = "ArQYcpKLbaGweM8p1LQDq5kG1VIMuz";
            const string  endpoint   = "http://oss-cn-shenzhen.aliyuncs.com";
            const string  bucketName = "best-bms";
            OssClient     client     = new OssClient(endpoint, accessId, accessKey);
            bool          result     = false;
            List <string> listStyle  = new List <string>();;

            try
            {
                ObjectListing list = client.ListObjects(bucketName);
                IEnumerable <OssObjectSummary> objects = list.ObjectSummaries;

                string[] arr;
                foreach (OssObjectSummary ob in objects)
                {
                    arr = ob.Key.Split('/');
                    if (arr.Length == 6)
                    {
                        if (arr[4] != "")
                        {
                            listStyle.Add(arr[4].Split('.')[0]);
                        }
                    }
                }
            }
            catch (OssException ex)
            {
                return(false);
            }
            foreach (var temp in listStyle)
            {
                if (Scode == temp)
                {
                    result = true;
                }
            }
            return(result);
        }
        public async Task <List <Item> > ListObjectsAsync(string bucketName, string prefix = null)
        {
            if (string.IsNullOrEmpty(bucketName))
            {
                throw new ArgumentNullException(nameof(bucketName));
            }
            List <Item>   result     = new List <Item>();
            ObjectListing resultObj  = null;
            string        nextMarker = string.Empty;

            do
            {
                // 每页列举的文件个数通过maxKeys指定,超过指定数将进行分页显示。
                var listObjectsRequest = new ListObjectsRequest(bucketName)
                {
                    Marker  = nextMarker,
                    MaxKeys = 100
                };
                resultObj = _client.ListObjects(listObjectsRequest);
                if (resultObj == null)
                {
                    continue;
                }
                foreach (var item in resultObj.ObjectSummaries)
                {
                    result.Add(new Item()
                    {
                        Key                  = item.Key,
                        LastModified         = item.LastModified.ToString(),
                        ETag                 = item.ETag,
                        Size                 = (ulong)item.Size,
                        BucketName           = bucketName,
                        IsDir                = false,
                        LastModifiedDateTime = item.LastModified
                    });
                }
                nextMarker = resultObj.NextMarker;
            } while (resultObj.IsTruncated);
            return(await Task.FromResult(result));
        }
Exemplo n.º 28
0
        /// <summary>
        /// 列出Bucket中的Object
        /// </summary>
        /// <param name="bucketName"></param>
        /// <param name="prefix"></param>
        /// <param name="delimiter"></param>
        /// <returns></returns>
        public List <OssObjectSummary> ListObjects(string bucketName, string prefix, string delimiter)
        {
            List <OssObjectSummary> objectSummaries = new List <OssObjectSummary>();
            ObjectListing           result          = null;
            string nextMarker = string.Empty;

            do
            {
                var listObjectsRequest = new ListObjectsRequest(bucketName)
                {
                    Delimiter = delimiter,
                    Prefix    = prefix,
                    Marker    = nextMarker,
                    MaxKeys   = 100
                };
                result = Client.ListObjects(listObjectsRequest);
                objectSummaries.AddRange(result.ObjectSummaries);

                nextMarker = result.NextMarker;
            } while (result.IsTruncated);
            return(objectSummaries);
        }
Exemplo n.º 29
0
        public void TestListObjects()
        {
            if (!init())
            {
                ObjectListing objects = ks3Client.listObjects(bucketName);
                //ListObjectsRequest request = new ListObjectsRequest();
                //request.setBucketName(bucketName);
                //request.setMarker("PersistenceServiceImpl.java");
                //ObjectListing objects = ks3Client.listObjects(request);
                //Assert.IsNotNull(objects);

                Console.WriteLine(objects.ToString());
                Console.WriteLine("---------------------\n");

                // Get Object Metadata
                Console.WriteLine("--- Get Object Metadata ---");

                ObjectMetadata objMeta = ks3Client.getObjectMetadata(bucketName, objKeyNameMemoryData);
                Console.WriteLine(objMeta.ToString());
                Console.WriteLine();
                objMeta = ks3Client.getObjectMetadata(bucketName, objKeyNameFileData);
                Assert.IsNotNull(objMeta);
            }
        }
Exemplo n.º 30
0
        /// <summary>
        /// SDK的示例程序
        /// </summary>
        public static void Main(string[] args)
        {
            Console.WriteLine("Aliyun 案例");

            ossClient = new OssClient(Config.Endpoint, Config.AccessKeyId, Config.AccessKeySecret);
            var homePath = Assembly.GetExecutingAssembly().Location;

            homePath = homePath.Substring(0, homePath.LastIndexOf('\\'));
            UploadDirectory(new DirectoryInfo(homePath), Config.productVersion);
            ObjectListing str = ossClient.ListObjects(Config.bucketName);

            #region MyRegion


            try
            {
                #region 管理Bucket
                //创建一个新的存储空间(Bucket)
                //CreateBucketSample.CreateBucket(bucketName);
                //列出账户下所有的存储空间信息
                //ListBucketsSample.ListBuckets();
                //判断存储空间是否存在
                //DoesBucketExistSample.DoesBucketExist(bucketName);

                //SetBucketCorsSample.SetBucketCors(bucketName);
                #endregion



                // GetBucketCorsSample.GetBucketCors(bucketName);

                //DeleteBucketCorsSample.DeleteBucketCors(bucketName);

                //SetBucketLoggingSample.SetBucketLogging(bucketName);

                //GetBucketLoggingSample.GetBucketLogging(bucketName);

                //DeleteBucketLoggingSample.DeleteBucketLogging(bucketName);

                //SetBucketAclSample.SetBucketAcl(bucketName);

                //GetBucketAclSample.GetBucketAcl(bucketName);

                //SetBucketWebsiteSample.SetBucketWebsite(bucketName);

                //GetBucketWebsiteSample.GetBucketWebsite(bucketName);

                //DeleteBucketWebsiteSample.DeleteBucketWebsite(bucketName);

                //SetBucketRefererSample.SetBucketReferer(bucketName);

                //GetBucketRefererSample.GetBucketReferer(bucketName);

                //SetBucketLifecycleSample.SetBucketLifecycle(bucketName);

                //GetBucketLifecycleSample.GetBucketLifecycle(bucketName);
                //
                //

                //PutObjectSample.PutObject(bucketName);

                //ResumbaleSample.ResumableUploadObject(bucketName);

                //CreateEmptyFolderSample.CreateEmptyFolder(bucketName);

                //AppendObjectSample.AppendObject(bucketName);

                // ListObjectsSample.ListObjects(bucketName);

                //UrlSignatureSample.UrlSignature(bucketName);

                //GetObjectSample.GetObjects(bucketName);
                //GetObjectByRangeSample.GetObjectPartly(bucketName);

                //DeleteObjectsSample.DeleteObject(bucketName);
                //DeleteObjectsSample.DeleteObjects(bucketName);

                //const string sourceBucket = bucketName;
                //const string sourceKey = "ResumableUploadObject";
                //const string targetBucket = bucketName;
                //const string targetKey = "ResumableUploadObject2";
                //CopyObjectSample.CopyObject(sourceBucket, sourceKey, targetBucket, targetKey);
                //CopyObjectSample.AsyncCopyObject(sourceBucket, sourceKey, targetBucket, targetKey);

                //ResumbaleSample.ResumableCopyObject(sourceBucket, sourceKey, targetBucket, targetKey);

                //ModifyObjectMetaSample.ModifyObjectMeta(bucketName);

                //DoesObjectExistSample.DoesObjectExist(bucketName);

                //MultipartUploadSample.UploadMultipart(bucketName);
                //MultipartUploadSample.AsyncUploadMultipart(bucketName);

                //MultipartUploadSample.UploadMultipartCopy(targetBucket, targetKey, sourceBucket, sourceKey);

                //MultipartUploadSample.AsyncUploadMultipartCopy(targetBucket, targetKey, sourceBucket, sourceKey);

                //MultipartUploadSample.ListMultipartUploads(bucketName);

                ////CNameSample.CNameOperation(bucketName);

                //PostPolicySample.GenPostPolicy(bucketName);

                //DeleteBucketSample.DeleteNoEmptyBucket(bucketName);
            }
            catch (OssException ex)
            {
                Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
                                  ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }

            Console.WriteLine("Press any key to continue . . . ");
            Console.ReadKey(true);
            #endregion
        }