public static void AsynHeadObject(COSXML.CosXml cosXml, string bucket, string key) { QLog.D("XIAO", String.Format("currentThread id = {0}", Thread.CurrentThread.ManagedThreadId)); HeadObjectRequest request = new HeadObjectRequest(bucket, key); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); cosXml.HeadObject(request, delegate(CosResult cosResult) { HeadObjectResult result = cosResult as HeadObjectResult; Console.WriteLine(result.GetResultInfo()); Console.WriteLine(String.Format("currentThread id = {0}", Thread.CurrentThread.ManagedThreadId)); }, delegate(CosClientException clientEx, CosServerException serverEx) { if (clientEx != null) { QLog.D("XIAO", clientEx.Message); Console.WriteLine("CosClientException: " + clientEx.StackTrace); } if (serverEx != null) { QLog.D("XIAO", serverEx.Message); Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } Console.WriteLine(String.Format("currentThread id = {0}", Thread.CurrentThread.ManagedThreadId)); }); }
/// <summary> /// 查询对象元数据 /// </summary> /// <param name="key">对象在存储桶中的位置,即称对象键</param> /// <param name="bucketName">存储桶,格式:BucketName-APPID</param> public static void QueryObject(string key, string bucketName = CosConfig.DEFAULT_BUCKET) { var cosXml = InitializeCosConfig(); try { string bucket = $"{bucketName}-{AppId}"; //存储桶,格式:BucketName-APPID HeadObjectRequest request = new HeadObjectRequest(bucket, key); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //执行请求 HeadObjectResult result = cosXml.HeadObject(request); //请求成功 Console.WriteLine(result.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 Console.WriteLine("CosClientException: " + clientEx); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }
public void AsynHeadObject(COSXML.CosXml cosXml, string bucket, string key) { HeadObjectRequest request = new HeadObjectRequest(bucket, key); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); cosXml.HeadObject(request, delegate(CosResult cosResult) { HeadObjectResult result = cosResult as HeadObjectResult; Console.WriteLine(result.GetResultInfo()); manualResetEvent.Set(); }, delegate(CosClientException clientEx, CosServerException serverEx) { if (clientEx != null) { Console.WriteLine("CosClientException: " + clientEx.Message); } if (serverEx != null) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } manualResetEvent.Set(); }); }
private bool CheckFileExists(string bucket, string fileKey) { try { HeadObjectRequest request = new HeadObjectRequest(bucket, fileKey); request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), COS_REQUEST_DEFAULT_DURATION); HeadObjectResult result = cosXml.HeadObject(request); return(result.httpCode.Equals(COS_STATUS.OK)); } catch (Exception ex) { return(false); } }
internal void Download() { UpdateTaskState(TaskState.WAITTING); //对象是否存在 headObjectRequest = new HeadObjectRequest(bucket, key); headObjectRequest.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); cosXmlServer.HeadObject(headObjectRequest, delegate(CosResult cosResult) { lock (syncExit) { if (isExit) { return; } } if (UpdateTaskState(TaskState.RUNNING)) { HeadObjectResult result = cosResult as HeadObjectResult; //计算range //download GetObject(); } }, delegate(CosClientException clientEx, CosServerException serverEx) { lock (syncExit) { if (isExit) { return; } } if (UpdateTaskState(TaskState.FAILED)) { if (failCallback != null) { failCallback(clientEx, serverEx); } } }); }
public static void HeadObject(COSXML.CosXml cosXml, string bucket, string key) { try { HeadObjectRequest request = new HeadObjectRequest(bucket, key); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //执行请求 HeadObjectResult result = cosXml.HeadObject(request); Console.WriteLine(result.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { QLog.D("XIAO", clientEx.Message); Console.WriteLine("CosClientException: " + clientEx.StackTrace); } catch (COSXML.CosException.CosServerException serverEx) { QLog.D("XIAO", serverEx.Message); Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }
internal void Copy() { UpdateTaskState(TaskState.WAITTING); //源对象是否存在 if (copySource == null) { lock (syncExit) { if (isExit) { return; } } if (UpdateTaskState(TaskState.FAILED)) { if (failCallback != null) { failCallback(new CosClientException((int)CosClientError.INVALID_ARGUMENT, "copySource = null"), null); } } //error return; } headObjectRequest = new HeadObjectRequest(copySource.bucket, copySource.key); headObjectRequest.Region = copySource.region; headObjectRequest.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); cosXmlServer.HeadObject(headObjectRequest, delegate(CosResult cosResult) { lock (syncExit) { if (isExit) { return; } } if (UpdateTaskState(TaskState.RUNNING)) { HeadObjectResult result = cosResult as HeadObjectResult; //源对象的长度 sourceSize = result.size; if (sourceSize > divisionSize) { MultiPartCopy(); } else { SimpleCopy(); } } }, delegate(CosClientException clientEx, CosServerException serverEx) { lock (syncExit) { if (isExit) { return; } } if (UpdateTaskState(TaskState.FAILED)) { if (failCallback != null) { failCallback(clientEx, serverEx); } } }); }