public async Task <ResponseModel> UpFile(string key, string srcPath) { try { string bucket = _buketName + "-" + _appid; //存储桶名称 格式:BucketName-APPID PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //设置进度回调 request.SetCosProgressCallback(delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }); //执行请求 PutObjectResult result = await Task.FromResult(_cosXml.PutObject(request)); return(new ResponseModel { Code = 200, Message = result.GetResultInfo() }); } catch (CosClientException clientEx) { return(new ResponseModel { Code = 0, Message = "CosClientException: " + clientEx.Message }); } catch (CosServerException serverEx) { return(new ResponseModel { Code = 0, Message = "CosServerException: " + serverEx.GetInfo() }); } }
/// <summary> /// 上传文件至oss /// </summary> /// <param name="key">文件名称</param> /// <param name="memoryStream">文件流</param> /// <returns></returns> public async Task <string> PutObjectResultAsync(string key, MemoryStream memoryStream) { memoryStream.Seek(0, SeekOrigin.Begin); PutObjectResult putObjectResult = AliOssClient.GetAliOssClient.PutObject(bucketName, key, memoryStream); return(putObjectResult.ETag); }
public void SetResult(PutObjectResult result) { this.eTag = result.eTag; this.httpCode = result.httpCode; this.httpMessage = result.httpMessage; this.responseHeaders = result.responseHeaders; }
/// <summary> /// 上传到腾讯云COS /// </summary> /// <param name="src">文件流</param> /// <param name="bucket">存储桶,格式:BucketName-APPID</param> /// <param name="key">对象键</param> /// <returns>是否上传成功</returns> public static bool SaveFileToTencentCOS(byte[] src, string bucket, string key) { try { PutObjectRequest request = new PutObjectRequest(bucket, key, src); //设置进度回调 request.SetCosProgressCallback(delegate(long completed, long total) { //Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }); //执行请求 PutObjectResult result = CosXml.PutObject(request); //对象的 eTag string eTag = result.eTag; return(true); } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 //Console.WriteLine("CosClientException: " + clientEx); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 //Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } return(false); }
/// 上传时进行二维码识别 public void UploadWithQRcodeRecognition() { string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID string key = "exampleobject"; //对象键 string srcPath = @"temp-source-file"; //本地文件绝对路径 //.cssg-snippet-body-start:[upload-with-QRcode-recognition] PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); JObject o = new JObject(); // 不返回原图 o["is_pic_info"] = 1; JArray rules = new JArray(); JObject rule = new JObject(); rule["bucket"] = bucket; rule["fileid"] = "qrcode.jpg"; //处理参数,规则参见:https://cloud.tencent.com/document/product/460/37513 rule["rule"] = "QRcode/cover/<mode>"; rules.Add(rule); o["rules"] = rules; string ruleString = o.ToString(Formatting.None); request.SetRequestHeader("Pic-Operations", ruleString); //执行请求 PutObjectResult result = cosXml.PutObject(request); //.cssg-snippet-body-end }
/// 上传时图片处理 public void UploadWithPicOperation() { string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID string key = "exampleobject"; //对象键 string srcPath = @"temp-source-file"; //本地文件绝对路径 //.cssg-snippet-body-start:[upload-with-pic-operation] PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); JObject o = new JObject(); // 不返回原图 o["is_pic_info"] = 0; JArray rules = new JArray(); JObject rule = new JObject(); rule["bucket"] = bucket; rule["fileid"] = "desample_photo.jpg"; //处理参数,规则参见:https://cloud.tencent.com/document/product/460/19017 rule["rule"] = "imageMogr2/thumbnail/400x400"; rules.Add(rule); o["rules"] = rules; string ruleString = o.ToString(Formatting.None); request.SetRequestHeader("Pic-Operations", ruleString); //执行请求 PutObjectResult result = cosXml.PutObject(request); //.cssg-snippet-body-end }
public static void PutObject(COSXML.CosXml cosXml, string bucket, string key, string srcPath) { try { PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //设置进度回调 request.SetCosProgressCallback(delegate(long completed, long total) { Console.WriteLine(String.Format("{0} progress = {1} / {2} : {3:##.##}%", DateTime.Now.ToString(), completed, total, completed * 100.0 / total)); }); //执行请求 PutObjectResult result = cosXml.PutObject(request); Console.WriteLine(String.Format("{0} {1}", DateTime.Now.ToString(), result.GetResultInfo())); } catch (CosClientException clientEx) { QLog.D("XIAO", clientEx.Message); Console.WriteLine("CosClientException: " + clientEx.StackTrace); } catch (CosServerException serverEx) { QLog.D("XIAO", serverEx.Message); Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }
long durationSecond = 600; //secretKey 有效时长,单位为 秒 public void UploadFile(string fileName, string localFileName) { try { string bucket = bucketName + "-" + appid; //存储桶,格式:BucketName-APPID PutObjectRequest request = new PutObjectRequest(bucket, fileName, localFileName); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //执行请求 PutObjectResult result = cosSserver.PutObject(request); //请求成功 // Console.WriteLine(result.GetResultInfo()); } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 Console.WriteLine("CosClientException: " + clientEx.Message); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }
public void PutObjectWithCustomerKey() { try { string key = "objectWithSSEC"; PutObjectRequest request = new PutObjectRequest(bucket, key, smallFileSrcPath); string customerKey = "25rN73uQtl1bUGnvHe0URgFWBNu4vBba";//32字符 request.SetCosServerSideEncryptionWithCustomerKey(customerKey); //执行请求 PutObjectResult result = cosXml.PutObject(request); Console.WriteLine(result.GetResultInfo()); } catch (CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.True(false); } catch (CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.True(false); } }
public void testPutObjectUploadTrafficLimit() { try { long now = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeMilliseconds(); PutObjectRequest request = new PutObjectRequest(bucket, commonKey, smallFileSrcPath); request.LimitTraffic(8 * 1000 * 1024); //执行请求 PutObjectResult result = cosXml.PutObject(request); long costTime = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeMilliseconds() - now; Console.WriteLine("costTime = " + costTime + "ms"); Console.WriteLine(result.GetResultInfo()); Assert.True(result.httpCode == 200); // Assert.True(costTime > 8000 && costTime < 14000); } catch (COSXML.CosException.CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.True(false); } catch (COSXML.CosException.CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.True(false); } }
public void PutObjectWithAES256() { try { string key = "objectWithAES256"; PutObjectRequest request = new PutObjectRequest(bucket, key, smallFileSrcPath); request.SetCosServerSideEncryption(); //执行请求 PutObjectResult result = cosXml.PutObject(request); Console.WriteLine(result.GetResultInfo()); } catch (CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.StackTrace); Assert.True(false); } catch (CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.True(false); } }
public bool Add(string bucket, string key, byte[] data) { try { PutObjectRequest request = new PutObjectRequest(bucket, key, data); //执行请求 PutObjectResult result = cosXml.PutObject(request); //对象的 eTag string eTag = result.eTag; return(true); } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 Console.WriteLine("CosClientException: " + clientEx); Debug.WriteLine("CosClientException: " + clientEx); return(false); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Debug.WriteLine("CosServerException: " + serverEx.GetInfo()); return(false); } }
public void PutObjectWithKMS(COSXML.CosXml cosXml, string bucket, string key, string srcPath) { try { PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); request.IsHttps = true; //设置进度回调 request.SetCosProgressCallback(delegate(long completed, long total) { //Console.WriteLine(String.Format("{0} progress = {1} / {2} : {3:##.##}%", DateTime.Now.ToString(), completed, total, completed * 100.0 / total)); }); request.SetCosServerSideEncryptionWithKMS(null, null); //执行请求 PutObjectResult result = cosXml.PutObject(request); Console.WriteLine(result.GetResultInfo()); } catch (CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); //Assert.True(false); } catch (CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); //Assert.True(true); } }
private static bool putObject() { try { Console.WriteLine("--- Upload a File ---"); FileInfo file = new FileInfo("H:/haixt111/[email protected]");// d:/test1.doc PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objKeyNameFileData, file); //CannedAccessControlList cannedAcl = new CannedAccessControlList(CannedAccessControlList.PRIVATE); //putObjectRequest.setCannedAcl(cannedAcl); SampleListener sampleListener = new SampleListener(file.Length); putObjectRequest.setProgressListener(sampleListener); PutObjectResult putObjectResult = ks3Client.putObject(putObjectRequest); Console.WriteLine("Upload Completed. eTag=" + putObjectResult.getETag() + ", MD5=" + putObjectResult.getContentMD5()); Console.WriteLine("---------------------\n"); } catch (System.Exception e) { Console.WriteLine(e.ToString()); return(false); } return(true); }
public Task PutAsync(string remotename, Stream stream, CancellationToken cancelToken) { try { cosXml = GetCosXml(); string bucket = _cosOptions.Bucket; string key = GetFullKey(remotename); byte[] buffer = new byte[stream.Length]; if (Utility.Utility.ForceStreamRead(stream, buffer, buffer.Length) != stream.Length) { throw new Exception("Bad file read"); } PutObjectRequest request = new PutObjectRequest(bucket, key, buffer); request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), KEY_DURATION_SECOND); request.SetRequestHeader("Content-Type", "application/octet-stream"); PutObjectResult result = cosXml.PutObject(request); } catch (COSXML.CosException.CosClientException clientEx) { Logging.Log.WriteErrorMessage(LOGTAG, "PutAsync", clientEx, "Put failed: {0}", remotename); throw; } catch (COSXML.CosException.CosServerException serverEx) { Logging.Log.WriteErrorMessage(LOGTAG, "PutAsync", serverEx, "Put failed: {0}, {1}", remotename, serverEx.GetInfo()); throw; } return(Task.CompletedTask); }
/// 上传时添加盲水印 public void PutObjectWithWatermark() { string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID string key = "exampleobject"; //对象键 string srcPath = @"temp-source-file"; //本地文件绝对路径 //.cssg-snippet-body-start:[put-object-with-watermark] PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); JObject o = new JObject(); // 不返回原图 o["is_pic_info"] = 0; JArray rules = new JArray(); JObject rule = new JObject(); rule["bucket"] = bucket; rule["fileid"] = key; //处理参数,规则参见:https://cloud.tencent.com/document/product/460/19017 rule["rule"] = "watermark/3/type/<type>/image/<imageUrl>/text/<text>/level/<level>"; rules.Add(rule); o["rules"] = rules; string ruleString = o.ToString(Formatting.None); request.SetRequestHeader("Pic-Operations", ruleString); //执行请求 PutObjectResult result = cosXml.PutObject(request); //.cssg-snippet-body-end }
/// 简单上传对象 public void PutObject() { //.cssg-snippet-body-start:[put-object] try { string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID string key = "exampleobject"; //对象键 string srcPath = @"temp-source-file"; //本地文件绝对路径 PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); //设置进度回调 request.SetCosProgressCallback(delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }); //执行请求 PutObjectResult result = cosXml.PutObject(request); //对象的 eTag string eTag = result.eTag; } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 Console.WriteLine("CosClientException: " + clientEx); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } //.cssg-snippet-body-end }
/// <summary> /// 创建文件夹 /// </summary> /// <param name="key"></param> public void CreateEmptyFolder(string key) { const string accessId = "X9foTnzzxHCk6gK7"; const string accessKey = "ArQYcpKLbaGweM8p1LQDq5kG1VIMuz"; const string endpoint = "http://oss-cn-shenzhen.aliyuncs.com"; const string bucketName = "best-bms"; var client = new OssClient(endpoint, accessId, accessKey); try { using (MemoryStream memStream = new MemoryStream()) { PutObjectResult ret = client.PutObject(bucketName, key, memStream); } } catch (OssException ex) { if (ex.ErrorCode == OssErrorCode.BucketAlreadyExists) { Console.WriteLine("Bucket '{0}' already exists, please modify and recreate it.", bucketName); } else { Console.WriteLine("CreateBucket Failed with error info: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}", ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId); } } }
public int Upload(string src, string key) { try { string bucket = _bucket; // "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID // string key = "exampleobject"; //对象在存储桶中的位置,即称对象键. string srcPath = src; // @"F:\exampleobject";//本地文件绝对路径 PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //设置进度回调 request.SetCosProgressCallback(delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }); //执行请求 PutObjectResult result = cosXml.PutObject(request); //请求成功 string r = result.GetResultInfo(); Console.WriteLine(r); return(0); } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 Console.WriteLine("CosClientException: " + clientEx.Message); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } return(1); }
public void PutObject() { init(); string bucket = "000000-1253653367"; string objectKey = "文件夹/exampleobject"; try { PutObjectRequest request = new PutObjectRequest(bucket, objectKey, smallFileSrcPath); //执行请求 PutObjectResult result = cosXml.PutObject(request); Console.WriteLine(result.GetResultInfo()); } catch (CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); Assert.True(false); } catch (CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); Assert.True(false); } }
public string StoreImage(string file_name, byte[] image_data, string dir_name, string content_type) { string key = string.Empty; try { var ossClient = new OssClient(config_oss_endpoint, config_oss_access_id, config_oss_access_key); var meta = new ObjectMetadata(); meta.ContentType = content_type; key = string.Format("{0}/{1}", dir_name, file_name); PutObjectResult result = ossClient.PutObject(config_oss_bucket, key, new MemoryStream(image_data), meta); //上传图片 //Logger.Info("保存图片{0}到OSS", file_name); } catch (Exception ex) { //Logger.Exception(ex, "保存图片{0}到OSS失败,将保存到暂存区{1}", file_name, config_oss_temp_path+dir_name); try { FileOperationHelper.Save(image_data, config_oss_temp_path, file_name); } catch (Exception) { //Logger.Exception(ex, "保存图片{0}到暂存区失败", file_name); } } return(string.Format("http://{0}.oss-cn-hangzhou.aliyuncs.com/{1}", config_oss_bucket, key)); }
/// <summary> /// 上传指定文件到对象存储的CoursesExport目录中 /// </summary> /// <param name="fileName">文件名</param> /// <param name="path">本地文件的绝对路径</param> /// <returns>下载地址</returns> public static String UploadFile(string fileName, string path) { CosXmlConfig config = new CosXmlConfig.Builder() .SetConnectionTimeoutMs(60000) //设置连接超时时间,单位毫秒,默认45000ms .SetReadWriteTimeoutMs(40000) //设置读写超时时间,单位毫秒,默认45000ms .IsHttps(true) //设置默认 HTTPS 请求 .SetAppid("***REMOVED***") //设置腾讯云账户的账户标识 APPID .SetRegion("***REMOVED***") //设置一个默认的存储桶地域 .Build(); string AppDirectory = CQ.Api.AppDirectory; string secretId = ini.Read(AppDirectory + @"\CosSecret.ini", "CosSecret", "SecretId", ""); //云 API 密钥 SecretId string secretKey = ini.Read(AppDirectory + @"\CosSecret.ini", "CosSecret", "SecretKey", ""); //云 API 密钥 SecretKey long durationSecond = 600; //每次请求签名有效时长,单位为秒 QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, secretKey, durationSecond); CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider); try { string bucket = "chajian-***REMOVED***"; //存储桶,格式:BucketName-APPID string key = "***REMOVED***" + fileName; //对象在存储桶中的位置,即称对象键 string srcPath = path; //本地文件绝对路径 if (!File.Exists(srcPath)) { // 如果不存在目标文件,创建一个临时的测试文件 File.WriteAllBytes(srcPath, new byte[1024]); } PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); //设置进度回调 request.SetCosProgressCallback(delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }); //执行请求 PutObjectResult result = cosXml.PutObject(request); //对象的 eTag string eTag = result.eTag; return("***REMOVED***CoursesExport/" + fileName); } catch (COSXML.CosException.CosClientException clientEx) { //请求失败 CQ.Log.Warning("CosClientException: ", clientEx); return(""); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 CQ.Log.Warning("CosServerException: ", serverEx.GetInfo()); return(""); } }
public void CreateEmptyFolder(string bucketName, string folderName) { var key = folderName.TrimStart('/').TrimEnd('/') + '/'; using (MemoryStream memStream = new MemoryStream()) { PutObjectResult ret = Client.PutObject(bucketName, key, memStream); } }
public async Task <JsonResult> Put(string key) { List <PutObjectResult> lst = new List <PutObjectResult>(); foreach (var file in Request.Form.Files) { // Copy the request body into a seekable stream required by the AWS SDK for .NET. var seekableStream = new MemoryStream(); file.CopyTo(seekableStream); seekableStream.Seek(0, SeekOrigin.Begin); var putRequest = new PutObjectRequest { BucketName = this.BucketName, ContentType = file.ContentType, Key = key, InputStream = seekableStream }; try { var response = await this.S3Client.PutObjectAsync(putRequest); Logger.LogInformation($"Uploaded object {key} to bucket {this.BucketName}. Request Id: {response.ResponseMetadata.RequestId}"); PutObjectResult result = new PutObjectResult { ETag = response.ETag, Key = key }; string[] filters = new string[] { "sepia", "lomo", "koda", "polaroid", "blur", "vignette", "glow", "oilpaint" }; foreach (var filter in filters) { result.FilterUrls.Add(Url.Action("Get", "Filter", new { key = key, filtertype = filter, maxwidth = 500 }, Request.Scheme)); } lst.Add(result); } catch (Exception e) { this.Response.StatusCode = 500; this.Response.ContentType = "text/json"; return(new JsonResult(new { Error = e.Message }, new JsonSerializerSettings { Formatting = Formatting.Indented })); } } // Probably want to return more information here so the front-end knows what to do next this.Response.ContentType = "text/json"; return(new JsonResult(lst, new JsonSerializerSettings { Formatting = Formatting.Indented })); }
public void PutObjectWithDeSample() { string key = "original_photo.jpg"; string srcPath = localTempPhotoFilePath; PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); JObject o = new JObject(); // 返回原图 o["is_pic_info"] = 1; JArray rules = new JArray(); JObject rule = new JObject(); rule["bucket"] = bucket; rule["fileid"] = "desample_photo.jpg"; //处理参数,规则参见:https://cloud.tencent.com/document/product/460/19017 rule["rule"] = "imageMogr2/thumbnail/400x"; rules.Add(rule); o["rules"] = rules; string ruleString = o.ToString(Formatting.None); request.SetRequestHeader("Pic-Operations", ruleString); //执行请求 PutObjectResult result = QCloudServer.Instance().cosXml.PutObject(request); var uploadResult = result.uploadResult; // Console.WriteLine(result.GetResultInfo()); Assert.IsNotEmpty((result.GetResultInfo())); Assert.True(result.IsSuccessful()); Assert.NotNull(uploadResult); Assert.NotNull(uploadResult.originalInfo); Assert.NotNull(uploadResult.originalInfo.ETag); Assert.NotNull(uploadResult.originalInfo.Key); Assert.NotNull(uploadResult.originalInfo.Location); Assert.NotNull(uploadResult.originalInfo.imageInfo.Ave); Assert.NotNull(uploadResult.originalInfo.imageInfo.Format); Assert.NotNull(uploadResult.originalInfo.imageInfo.Orientation); Assert.NotZero(uploadResult.originalInfo.imageInfo.Width); Assert.NotZero(uploadResult.originalInfo.imageInfo.Height); Assert.NotZero(uploadResult.originalInfo.imageInfo.Quality); Assert.NotNull(uploadResult.processResults); Assert.NotZero(uploadResult.processResults.results.Count); Assert.True(uploadResult.processResults.results[0].Width <= 400); Assert.True(uploadResult.processResults.results[0].Height <= 400); Assert.NotNull(uploadResult.processResults.results[0].ETag); Assert.NotNull(uploadResult.processResults.results[0].Format); Assert.NotNull(uploadResult.processResults.results[0].Key); Assert.NotNull(uploadResult.processResults.results[0].Location); Assert.NotZero(uploadResult.processResults.results[0].Quality); Assert.NotZero(uploadResult.processResults.results[0].Size); Assert.Zero(uploadResult.processResults.results[0].WatermarkStatus); }
private static string GetCallbackResponse(PutObjectResult putObjectResult) { string callbackResponse = null; using (var stream = putObjectResult.ResponseStream) { var buffer = new byte[4 * 1024]; var bytesRead = stream.Read(buffer, 0, buffer.Length); callbackResponse = Encoding.Default.GetString(buffer, 0, bytesRead); } return(callbackResponse); }
public async Task <IActionResult> Get() { var retryPolicy = Policy.Handle <COSXML.CosException.CosServerException>() .WaitAndRetry(new List <TimeSpan>() { TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(5), }, (ex, dt) => { Console.WriteLine($"{DateTime.Now} {ex.Message} {dt} "); }); LongTermJobObjectModel longTermJobObjectModel = new LongTermJobObjectModel() { Id = 12, Name = "xzlxzl", Age = 20, Remark = "测试一下" }; var jsonContent = JsonConvert.SerializeObject(longTermJobObjectModel, _serializerSetting); try { //string bucket = "job-dev"; //存储桶,格式:BucketName-APPID string key = $"/test/{longTermJobObjectModel.Id}.json"; //对象在存储桶中的位置,即称对象键. //string srcPath = @"G:\c03fd54abe6e19a631bc59.jpg";//本地文件绝对路径 PutObjectRequest request = new PutObjectRequest(_cosXmlOptions.Bucket, key, Encoding.Default.GetBytes(jsonContent)); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 60 * 60 * 5); //执行请求 retryPolicy.Execute(() => { PutObjectResult result = _cosXmlServer.PutObject(request); }); return(Ok()); } catch (COSXML.CosException.CosServerException serverEx) { //请求失败 Console.WriteLine(serverEx); return(Ok(serverEx)); } //var rng = new Random(); //return Enumerable.Range(1, 5).Select(index => new WeatherForecast //{ // Date = DateTime.Now.AddDays(index), // TemperatureC = rng.Next(-20, 55), // Summary = Summaries[rng.Next(Summaries.Length)] //}) //.ToArray(); }
/// <summary> /// 上传文件 /// </summary> /// <param name="fileName">文件名:/images/demo.jpg</param> /// <param name="fileStream"></param> public void Upload(string fileName, Stream fileStream) { OssClient ossClient = new OssClient(EndPoint, AccessKeyID, AccessKeySecret); ObjectMetadata metadata = new ObjectMetadata(); //根据文件名设置ContentType metadata.ContentType = GetContentType(fileName); string key = "MerLogo/" + fileName; fileStream.Seek(0, SeekOrigin.Begin); PutObjectResult result = ossClient.PutObject(BucketName, key, fileStream, metadata); }
public void UpLoadFile(string strEndPoint, string strAccessID, string strAccessKey, string strBucketName, string strFullName, Stream stream, ObjectMetadata meta) { try { OssClient ossClient = new OssClient(strEndPoint, strAccessID, strAccessKey); PutObjectResult result = ossClient.PutObject(strBucketName, strFullName, stream, meta);//上传图片 } catch { throw; } }
private void SimpleUpload() { putObjectRequest = new PutObjectRequest(bucket, key, srcPath, sendOffset, sendContentLength); if (customHeaders != null) { putObjectRequest.SetRequestHeaders(customHeaders); } if (progressCallback != null) { putObjectRequest.SetCosProgressCallback(progressCallback); } cosXmlServer.PutObject(putObjectRequest, delegate(CosResult cosResult) { lock (syncExit) { if (isExit) { if (taskState == TaskState.CANCEL) { DeleteObject(); } return; } } if (UpdateTaskState(TaskState.COMPLETED)) { PutObjectResult result = cosResult as PutObjectResult; UploadTaskResult copyTaskResult = new UploadTaskResult(); copyTaskResult.SetResult(result); if (successCallback != null) { successCallback(copyTaskResult); } } }, delegate(CosClientException clientEx, CosServerException serverEx) { lock (syncExit) { if (isExit) { return; } } if (UpdateTaskState(TaskState.FAILED)) { if (failCallback != null) { failCallback(clientEx, serverEx); } } }); }