/// <summary> /// 上传资源 /// </summary> /// <param name="localFile">本地文件的完整路径</param> /// <param name="resHandler">上传的结果回调</param> /// <param name="prgHandler">上传进度的回调</param> public static void Upload(string localFile, UploadResultHandler resHandler, ProgressResultHandler prgHandler) { var ptr1 = NimUtility.DelegateConverter.ConvertToIntPtr(resHandler); var ptr2 = NimUtility.DelegateConverter.ConvertToIntPtr(prgHandler); NosNativeMethods.nim_nos_upload(localFile, UploadCb, ptr1, UploadPrgCb, ptr2); }
public UploadQueue(ServerApi api, UploadResultHandler handler) { if (api == null) throw new ArgumentNullException(nameof(api)); if (handler == null) throw new ArgumentNullException(nameof(handler)); _sync = new object(); _queue = new Queue<Bitmap>(); _api = api; _handler = handler; Task.Factory.StartNew(Upload); }
/// <summary> /// 上传资源 /// </summary> /// <param name="localFile">本地文件的完整路径</param> /// <param name="resHandler">上传的结果回调</param> /// <param name="prgHandler">上传进度的回调</param> public static void Upload(string localFile, UploadResultHandler resHandler, ProgressResultHandler prgHandler, object userData = null) { ProgressData data = new ProgressData(); data.FilePath = localFile; data.UserData = userData; ProgressPair pair = new ProgressPair(data, prgHandler); var ptr1 = DelegateConverter.ConvertToIntPtr(resHandler); var ptr2 = DelegateConverter.ConvertToIntPtr(pair); NosNativeMethods.nim_nos_upload(localFile, UploadCb, ptr1, UploadPrgCb, ptr2); }