public CopyObjectResult CopyObject(string sourceBucketName, string sourceDir, string destBucketName, string destDir) { CopyObjectRequest copyObjectRequest = new CopyObjectRequest(sourceBucketName, sourceDir, destBucketName, destDir); return _ossClient.CopyObject(copyObjectRequest); }
public static void Move(string source, string destination) { var request = new CopyObjectRequest(_bucketName, source, _bucketName, destination); try { _client.CopyObject(request); Delete(source); } catch { } }
/// <summary> /// 目录拷贝,暂时只支持一层文件夹 /// </summary> /// <param name="sourceBucketName"></param> /// <param name="sourceDir"></param> /// <param name="destBucketName"></param> /// <param name="destDir"></param> public void CopyDirectory(string sourceBucketName, string sourceDir, string destBucketName, string destDir) { ListObjectsRequest listObjectRequest = new ListObjectsRequest(sourceBucketName); listObjectRequest.Prefix = sourceDir; listObjectRequest.Delimiter = @"/"; ObjectListing listObject = _ossClient.ListObjects(listObjectRequest); foreach (var objSummary in listObject.ObjectSummaries) { CopyObjectRequest copyObjectRequest = new CopyObjectRequest(objSummary.BucketName, objSummary.Key , destBucketName, destDir + objSummary.Key.Substring(sourceDir.Length)); _ossClient.CopyObject(copyObjectRequest); } }