public UploadResult UploadData(IGenericUploaderService service, Stream stream, string fileName) { if (!service.CheckConfig(Program.UploadersConfig)) { return(GetInvalidConfigResult(service)); } uploader = service.CreateUploader(Program.UploadersConfig, taskReferenceHelper); if (uploader != null) { uploader.BufferSize = (int)Math.Pow(2, Program.Settings.BufferSizePower) * 1024; if (Program.Settings.VerboseRequestLogs) { uploader.VerboseLogs = true; uploader.VerboseLogsPath = Program.RequestLogsFilePath; } uploader.ProgressChanged += uploader_ProgressChanged; if (Info.TaskSettings.AfterUploadJob.HasFlag(AfterUploadTasks.CopyURLToClipboard) && Info.TaskSettings.AdvancedSettings.EarlyCopyURL) { uploader.EarlyURLCopyRequested += url => ClipboardHelpers.CopyText(url); } fileName = URLHelpers.RemoveBidiControlCharacters(fileName); if (Info.TaskSettings.UploadSettings.FileUploadReplaceProblematicCharacters) { fileName = URLHelpers.ReplaceReservedCharacters(fileName, "_"); } Info.UploadDuration = Stopwatch.StartNew(); UploadResult result = uploader.Upload(stream, fileName); Info.UploadDuration.Stop(); return(result); } return(null); }