/** * 开始下载,并新建一个线程用于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(); }
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()); } } }
private static bool getObject() { /* * 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()); * return false; * } */ 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); SampleListener downloadListener = new SampleListener(objectMetadata.getContentLength()); GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, objKeyNameFileData, new FileInfo(outFilePath)); getObjectRequest.setProgressListener(downloadListener); 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()); return(false); } return(true); }
public string DownloadFile(string serverurl, string skey) { string res = string.Empty; if (ks3Client != null) { try { string outFilePath = Path.Combine(GetEMRTmpPath(), Sqbm + "." + DateTime.Today.ToString("yyyy.MM.dd.") + DateTime.Now.Ticks + ".ksc"); GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, skey, new FileInfo(outFilePath)); KS3Object obj = ks3Client.getObject(getObjectRequest); obj.getObjectContent().Close(); res = outFilePath; } catch (Exception ex) { res = string.Empty; throw ex; } } return(res); }