private async Task UploadSampleAsync(string id, int index) { try { var path = Path.Combine(App.AppPath, "Images\\Heroes"); var path2 = string.Format("{0}x{1}", App.AppSetting.Position.Width, App.AppSetting.Position.Height); FilePath finalPath = Path.Combine(path, path2, string.Format("{0}_{1:yyyyMMddhhmmss}.jpg", id, DateTime.Now)); if (!finalPath.GetDirPath().Exists) { Directory.CreateDirectory(finalPath.GetDirPath()); } var imageUtils = new ImageUtils(); lock (ImageProcessingHelper.GDILock) { using (var bmp = imageUtils.CaptureBanArea(App.AppSetting.Position.BanPositions[index])) { bmp.Save(finalPath); } } await _restApi.UploadImage(finalPath, id).ConfigureAwait(false); finalPath.DeleteIfExists(); } catch { // ignored } }