public static void UploadFile(string localPath, string buckName, string key) { bool waitForResult = true; if (!File.Exists(localPath)) { Debug.LogError("File path not exist: " + localPath); } using (var fs = File.Open(localPath, FileMode.Open)) { OssClient ossClient = new OssClient(Config.Endpoint, Config.AccessKeyId, Config.AccessKeySecret); try { var metadata = new ObjectMetadata(); metadata.ContentLength = fs.Length; metadata.CacheControl = "public"; ossClient.BeginPutObject(buckName, key, fs, metadata, (asyncResult) => { try { ossClient.EndPutObject(asyncResult); } catch (Exception ex) { Debug.LogError(ex); } finally { if (OnUploaded != null) { OnUploaded.Invoke(); } waitForResult = false; } }, null); } catch (OssException ex) { Debug.LogError(string.Format("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}", ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId)); waitForResult = false; } catch (Exception ex) { Debug.LogError(ex); waitForResult = false; } while (waitForResult) { if (OnUploading != null) { OnUploading.Invoke(); } } } }
/// <summary> /// 回调上传 /// </summary> /// <param name="ar"></param> private static void PutObjectCallback(IAsyncResult ar) { try { client.EndPutObject(ar); Console.WriteLine(ar.AsyncState as string); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { _event.Set(); } }
private void PutObjectCallback(IAsyncResult ar) { try { var result = _oss.EndPutObject(ar); } catch (Exception err) { throw err; } finally { _event.Set(); } }
/// <summary> /// Put File Async Callback /// </summary> /// <param name="ar">IAsyncResult</param> private void PutFileAsyncCallback(IAsyncResult ar) { try { client.EndPutObject(ar); } catch (OssException ex) { throw ex; } finally { resetEvent.Set(); } }
private static void PutObjectCallback(IAsyncResult ar) { try { client.EndPutObject(ar); Debug.LogError(ar.AsyncState as string); } catch (Exception ex) { Debug.LogError(ex.Message); } finally { _event.Set(); } }
private static void PutObjectCallback(IAsyncResult ar) { Hashtable state = (Hashtable)ar.AsyncState; Action <string> putCallback = (Action <string>)state["callback"]; try { OssClient ossClient = (OssClient)state["client"]; FileStream fs = (FileStream)state["fs"]; string ossfilename = (string)state["ossfilename"]; ossClient.EndPutObject(ar); fs.Close(); _dispatcher.Enqueue(() => { if (putCallback != null) { putCallback(ossfilename); } }); } catch (Exception ex) { Console.WriteLine(ex.Message); _dispatcher.Enqueue(() => { if (putCallback != null) { if (ex is ServiceException) { string errorCode = ((ServiceException)ex).ErrorCode; putCallback(errorCode); if (errorCode == "InvalidAccessKeyId") { FetchSTSToken(); } } else { putCallback(ex.Message); } } }); } finally { // _event.Set(); } }
/// <summary> /// /// </summary> /// <param name="ar"></param> private void AliyunFileUpLoadCallBack(IAsyncResult ar) { try { Client.EndPutObject(ar); } catch (Exception ex) { #if DEBUG Console.Error.WriteLine($"******************{ex.Message}************************"); #endif } finally { _event.Set(); } }
private static void PutObjectCallback(IAsyncResult ar) { try { var result = client.EndPutObject(ar); Console.WriteLine("Put object succeeded, callback response content:{0}", GetCallbackResponse(result)); Console.WriteLine(ar.AsyncState as string); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { _event.Set(); } }
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(); } }
private static void PutObjectCallback(IAsyncResult ar) { var client = new OssClient("oss-cn-shenzhen.aliyuncs.com", "LTAId7dsrQHujhU5", "O3nQOqai4yXrvGCKNbvgrKuU8f7U7p"); try { var result = client.EndPutObject(ar); Console.WriteLine("ETag:{0}", result.ETag); Console.WriteLine("User Parameter:{0}", ar.AsyncState as string); Console.WriteLine("Put object succeeded"); } catch (Exception ex) { Console.WriteLine("Put object failed, {0}", ex.Message); } finally { _event.Set(); } }
public async Task <bool> SaveFileAsync(string path, Stream stream, CancellationToken cancellationToken = default) { if (String.IsNullOrEmpty(path)) { throw new ArgumentNullException(nameof(path)); } if (stream == null) { throw new ArgumentNullException(nameof(stream)); } var seekableStream = stream.CanSeek ? stream : new MemoryStream(); if (!stream.CanSeek) { await stream.CopyToAsync(seekableStream).AnyContext(); seekableStream.Seek(0, SeekOrigin.Begin); } try { var putResult = await Task.Factory.FromAsync((request, callback, state) => _client.BeginPutObject(request, callback, state), result => _client.EndPutObject(result), new PutObjectRequest(_bucket, NormalizePath(path), seekableStream), null).AnyContext(); return(putResult.HttpStatusCode == HttpStatusCode.OK); } catch (Exception) { return(false); } finally { if (!stream.CanSeek) { seekableStream.Dispose(); } } }