public bool GetObjectProgress(string objectKey, string folderPath, EventHandler <StreamTransferProgressArgs> progressCallback) { try { string filePath = folderPath + "\\" + objectKey.Substring(objectKey.LastIndexOf("/") + 1); var getObjectRequest = new GetObjectRequest(bucketName, objectKey); getObjectRequest.StreamTransferProgress += progressCallback; var ossObject = client.GetObject(getObjectRequest); using (var stream = ossObject.Content) { using (FileStream fs = File.Open(filePath, FileMode.OpenOrCreate)) { var buffer = new byte[1024 * 1024]; var bytesRead = 0; while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0) { fs.Write(buffer, 0, bytesRead); } } } return(true); } catch (OssException ex) { lastError = ex; return(false); } }
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); }
//TODO //AppendObject /// <summary> /// Put File Multi Part /// </summary> public bool PutFileMultipart(string filePath, string objectKey, int partCount) { bool putResult = true; try { var initMultiPartResult = InitiateMultipartUpload(filePath, objectKey); var requestId = initMultiPartResult.UploadId; if (initMultiPartResult.HttpStatusCode == System.Net.HttpStatusCode.OK) { List <PartETag> list = UploadParts(filePath, objectKey, partCount, requestId); var result = CompleteUploadPart(objectKey, requestId, list); if (result.HttpStatusCode != System.Net.HttpStatusCode.OK) { putResult = false; } } } catch (OssException ex) { lastError = ex; } return(putResult); }
public IEnumerable <string> ListObjectAndSubDir(string dir) { List <string> summaryList = new List <string>(); try { string prefix = ""; if (!string.IsNullOrEmpty(dir)) { prefix = dir + "/"; } var listObjectsRequest = new ListObjectsRequest(bucketName) { Prefix = prefix, Delimiter = "/" }; var result = client.ListObjects(listObjectsRequest); summaryList.AddRange(result.ObjectSummaries.Select(x => x.Key)); summaryList.AddRange(result.CommonPrefixes); } catch (OssException ex) { lastError = ex; } return(summaryList); }
private static void GetObjectCallback(IAsyncResult ar) { try { var result = ossClient.EndGetObject(ar); byte[] buffer = new byte[4096]; var reponseBody = result.Content; using (reponseBody) { while (reponseBody.Read(buffer, 0, 4096) != 0) { ; } } Console.WriteLine("ETag: " + result.Metadata.ETag); Console.WriteLine("AsyncState:" + ar.AsyncState as string); } catch (Exception ex) { OssException ae = ex as OssException; Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}", ae.ErrorCode, ae.Message, ae.RequestId, ae.HostId); } finally { _evnet.Set(); } }
public static OssException CreateException(string errorCode, string message, string requestId, string hostId, Exception innerException) { OssException exception = (innerException != null) ? new OssException(message, innerException) : new OssException(message); exception.RequestId = requestId; exception.HostId = hostId; exception.ErrorCode = errorCode; return(exception); }
public ObjectMetadata GetObjectMetadata(string objectKey) { try { var metadata = client.GetObjectMetadata(bucketName, objectKey); } catch (OssException ex) { lastError = ex; } return(null); }
/// <summary> /// Set Bucket Acl /// </summary> public bool SetBucketAcl(CannedAccessControlList accessType) { try { client.SetBucketAcl(bucketName, accessType); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
private void ListObjectCallback(IAsyncResult ar) { try { var result = client.EndListObjects(ar); globalSummaryList = result.ObjectSummaries; resetEvent.Set(); } catch (OssException ex) { lastError = ex; } }
/// <summary> /// CreateBucket /// </summary> /// <param name="bucketName">BucketName</param> /// <returns>result</returns> public bool CreateBucket() { try { var bucket = client.CreateBucket(bucketName); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
/// <summary> /// List All Buckets /// </summary> public IEnumerable <Bucket> ListBuckets() { try { var buckets = client.ListBuckets(); return(buckets); } catch (OssException ex) { lastError = ex; return(null); } }
/// <summary> /// Delete object /// </summary> /// <param name="key">object name</param> /// <remarks>if you want to delete folder,append "/" in the end</remarks> public bool DeleteObject(string name) { try { client.DeleteObject(bucketName, name); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
/// <summary> /// Upload file object to bucket /// </summary> /// <param name="filePath">File to upload</param> /// <param name="objectKey">Object key in oss</param> /// <returns></returns> public bool PutFile(string filePath, string objectKey) { try { client.PutObject(bucketName, objectKey, filePath); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
/// <summary> /// Upload file object to bucket /// </summary> /// <param name="filePath">File to upload</param> /// <returns></returns> public bool PutFile(string filePath) { try { client.PutObject(bucketName, System.IO.Path.GetFileName(filePath), filePath); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
/// <summary> /// Delete Bucket /// </summary> public bool DeleteBucket() { try { client.DeleteBucket(bucketName); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
public IEnumerable <OssObjectSummary> ListObjectsAsync() { try { resetEvent.Reset(); var listObjectsRequest = new ListObjectsRequest(bucketName); client.BeginListObjects(listObjectsRequest, ListObjectCallback, null); resetEvent.WaitOne(); } catch (OssException ex) { lastError = ex; } return(globalSummaryList); }
/// <summary> /// Upload string object to bucket /// </summary> /// <param name="str">string object</param> /// <param name="name">designate object name</param> /// <returns></returns> public bool PutString(string str, string name) { try { byte[] binaryData = Encoding.ASCII.GetBytes(str); MemoryStream requestContent = new MemoryStream(binaryData); client.PutObject(bucketName, name, requestContent); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
/// <summary> /// Is Bucket Exist /// </summary> public bool IsBucketExist() { bool result = false; try { result = client.DoesBucketExist(bucketName); } catch (OssException ex) { lastError = ex; } return(result); }
/// <summary> /// Upload file object to bucket with progress /// </summary> /// <param name="filePath">File to upload</param> /// <param name="objcetKey">Object key in oss</param> /// <param name="progressCallback">Progress event handler</param> public void PutFileProgress(string filePath, string objectKey, EventHandler <StreamTransferProgressArgs> progressCallback) { try { using (var fs = File.Open(filePath, FileMode.Open)) { var putObjectRequest = new PutObjectRequest(bucketName, objectKey, fs); putObjectRequest.StreamTransferProgress += progressCallback; client.PutObject(putObjectRequest); } } catch (OssException ex) { lastError = ex; } }
/// <summary> /// Get Bucket Acl /// </summary> /// <returns></returns> public CannedAccessControlList GetBucketAcl() { AccessControlList acl = null; CannedAccessControlList accessType = CannedAccessControlList.Default; try { acl = client.GetBucketAcl(bucketName); accessType = acl.ACL; } catch (OssException ex) { lastError = ex; } return(accessType); }
/// <summary> /// List objcets /// </summary> /// <returns>OssObjectSummary Collection</returns> public IEnumerable <OssObjectSummary> ListObjects() { IEnumerable <OssObjectSummary> summaryList = new List <OssObjectSummary>(); try { var listObjectsRequest = new ListObjectsRequest(bucketName); var result = client.ListObjects(listObjectsRequest); summaryList = result.ObjectSummaries; } catch (OssException ex) { lastError = ex; } return(summaryList); }
/// <summary> /// Put File With Call Back /// </summary> /// <param name="filePath">File to upload</param> /// <param name="objectKey">Object key in oss</param> /// <returns></returns> private void PutObjectCallback(string filePath, string objectKey, string callbackUrl, string callbackBody) { try { var metadata = BuildCallbackMetadata(callbackUrl, callbackBody); using (var fs = File.Open(filePath, FileMode.Open)) { var putObjectRequest = new PutObjectRequest(bucketName, objectKey, fs, metadata); var result = client.PutObject(putObjectRequest); } } catch (OssException ex) { lastError = ex; } }
private static void PutObjectCallback(IAsyncResult ar) { try { var result = client.EndPutObject(ar); Console.WriteLine(result.ETag); } catch (Exception ex) { OssException ae = ex as OssException; Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}", ae.ErrorCode, ae.Message, ae.RequestId, ae.HostId); } finally { _evnet.Set(); } }
public bool DeleteBucketObjects() { try { var keys = new List <string>(); var listResult = client.ListObjects(bucketName); foreach (var summary in listResult.ObjectSummaries) { keys.Add(summary.Key); } var request = new DeleteObjectsRequest(bucketName, keys, false); client.DeleteObjects(request); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
private CompleteMultipartUploadResult CompleteUploadPart(string objectKey, string uploadId, List <PartETag> partETags) { CompleteMultipartUploadResult uploadResult = null; try { var completeMultipartUploadRequest = new CompleteMultipartUploadRequest(bucketName, objectKey, uploadId); foreach (var partETag in partETags) { completeMultipartUploadRequest.PartETags.Add(partETag); } uploadResult = client.CompleteMultipartUpload(completeMultipartUploadRequest); } catch (OssException ex) { lastError = ex; } return(uploadResult); }
/// <summary> /// Put File With Md5 Check /// </summary> /// <param name="filePath">File to upload</param> /// <param name="objectKey">Object key in oss</param> /// <param name="md5">md5 code</param> /// <returns></returns> public bool PutFileWithMd5(string filePath, string objectKey, string md5) { try { using (FileStream fs = File.Open(filePath, FileMode.Open)) { md5 = OssUtils.ComputeContentMd5(fs, fs.Length); } ObjectMetadata objectMeta = new ObjectMetadata { ContentMd5 = md5 }; client.PutObject(bucketName, objectKey, filePath, objectMeta); return(true); } catch (OssException ex) { lastError = ex; return(false); } }
public bool CopyObect(string sourceKey, string targetBucket, string targetKey) { try { var metadata = new ObjectMetadata(); metadata.AddHeader(Aliyun.OSS.Util.HttpHeaders.ContentType, "text/html"); var req = new CopyObjectRequest(bucketName, sourceKey, targetBucket, targetKey) { NewObjectMetadata = metadata }; var ret = client.CopyObject(req); if (ret.HttpStatusCode == System.Net.HttpStatusCode.OK) { return(true); } return(false); } catch (OssException ex) { lastError = ex; return(false); } }
public void GetObject(string objectKey, string folderPath) { try { string filePath = folderPath + "\\" + objectKey.Substring(objectKey.LastIndexOf("/") + 1); var file = client.GetObject(bucketName, objectKey); using (var requestStream = file.Content) { byte[] buf = new byte[1024]; var fs = File.Open(filePath, FileMode.OpenOrCreate); var len = 0; while ((len = requestStream.Read(buf, 0, 1024)) != 0) { fs.Write(buf, 0, len); } fs.Close(); } } catch (OssException ex) { lastError = ex; } }
//TODO //PutFileWithHeader() /// <summary> /// Pub File Async /// </summary> /// <param name="bucketName">Bucket Name</param> public void PutFileAsync(string bucketName, string filePath, string objcetKey, Action act) { try { resetEvent.Reset(); using (var fs = File.Open(filePath, FileMode.Open)) { string result = "Notice user: put object finish"; ObjectMetadata metadata = new ObjectMetadata(); client.BeginPutObject(bucketName, objcetKey, fs, metadata, PutFileAsyncCallback, result.ToCharArray()); resetEvent.WaitOne(); if (act != null) { act(); } } } catch (OssException ex) { lastError = ex; } }