Esempio n. 1
0
        /**
         * 开始下载,并新建一个线程用于IO操作
         */
        private void start()
        {
            GetObjectRequest getObjectRequest = new GetObjectRequest(this.bucketName, this.key, this.file);
            getObjectRequest.setProgressListener(this);

            Thread thread = new Thread(delegate() {
                KS3Object ks3Obj = null;
                try
                {
                     ks3Obj = ks3Client.getObject(getObjectRequest);
                }
                catch (ServiceException e)
                {
                    showMessage(e.ToString(), "错误");
                }
                catch (ProgressInterruptedException e)
                {
                    // Do nothing here ...
                }
                catch
                {
                    showMessage("未知错误,请稍后再试", "错误");
                }
                finally
                {
                    if (ks3Obj != null && ks3Obj.getObjectContent() != null)
                        ks3Obj.getObjectContent().Close();
                }

            });
            thread.Start();
        }
Esempio n. 2
0
        public void TestGetObject()
        {
            if(!init()){
                try
                {
                    // Get Object(download and store in memory)
                    Console.WriteLine("--- Download and Store in Memory ---");

                    GetObjectRequest getShortContent = new GetObjectRequest(bucketName, objKeyNameMemoryData);
                    getShortContent.setRange(0, 24);
                    KS3Object ks3Object = ks3Client.getObject(getShortContent);

                    StreamReader sr = new StreamReader(ks3Object.getObjectContent());
                    Console.WriteLine("Content:\n" + sr.ReadToEnd());
                    sr.Close();
                    ks3Object.getObjectContent().Close();

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

                try
                {
                    // Get Object(download and save as a file)
                    Console.WriteLine("--- Download a File ---");

                    // I need to get the Content-Length to set the listener.
                    ObjectMetadata objectMetadata = ks3Client.getObjectMetadata(bucketName, objKeyNameFileData);

                    GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, objKeyNameFileData, new FileInfo(outFilePath));
                    KS3Object obj = ks3Client.getObject(getObjectRequest);
                    obj.getObjectContent().Close(); // The file was opened in [KS3ObjectResponseHandler], so I close it first.

                    Console.WriteLine("Success. See the file downloaded at {0}", outFilePath);
                    Console.WriteLine("-----------------------\n");
                }
                catch (System.Exception e)
                {
                    Console.WriteLine(e.ToString());
                }
            }
        }