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; uploader.ProgressChanged += uploader_ProgressChanged; if (Info.TaskSettings.AfterUploadJob.HasFlag(AfterUploadTasks.CopyURLToClipboard) && Info.TaskSettings.AdvancedSettings.EarlyCopyURL) { uploader.EarlyURLCopyRequested += url => ClipboardHelpers.CopyText(url); } Info.UploadDuration = Stopwatch.StartNew(); UploadResult result = uploader.Upload(stream, fileName); Info.UploadDuration.Stop(); return(result); } return(null); }
public UploadResult UploadData(IGenericUploaderService service, Stream stream, string fileName) { if (!service.CheckConfig(App.UploadersConfig)) { return(GetInvalidConfigResult(service)); } uploader = service.CreateUploader(App.UploadersConfig, new TaskReferenceHelper()); if (uploader != null) { uploader.BufferSize = (int)Math.Pow(2, App.Settings.BufferSizePower) * 1024; uploader.ProgressChanged += uploader_ProgressChanged; Info.UploadDuration = Stopwatch.StartNew(); UploadResult result = uploader.Upload(stream, fileName); Info.UploadDuration.Stop(); return(result); } return(null); }
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); } if (Info.TaskSettings.UploadSettings.FileUploadReplaceProblematicCharacters) { // http://www.ietf.org/rfc/rfc3986.txt // Section 2.3: // Characters that are allowed in a URI but do not have a reserved // purpose are called unreserved. These include uppercase and lowercase // letters, decimal digits, hyphen, period, underscore, and tilde. // unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" // // \w takes care of alpha, digit and _ for us fileName = Regex.Replace(fileName, @"[^\w-.~]", "_"); } Info.UploadDuration = Stopwatch.StartNew(); UploadResult result = uploader.Upload(stream, fileName); Info.UploadDuration.Stop(); return(result); } return(null); }
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); }
private bool CheckUploadFilters(Stream stream, string filename) { if (Info.TaskSettings.UploadSettings.UploaderFilters != null && !string.IsNullOrEmpty(filename) && stream != null) { UploaderFilter filter = Info.TaskSettings.UploadSettings.UploaderFilters.FirstOrDefault(x => x.IsValidFilter(filename, stream)); if (filter != null) { IGenericUploaderService service = filter.GetUploaderService(); if (service != null) { Info.Result = UploadData(service, stream, filename); return(true); } } } return(false); }
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; uploader.ProgressChanged += uploader_ProgressChanged; if (Info.TaskSettings.AfterUploadJob.HasFlag(AfterUploadTasks.CopyURLToClipboard) && Info.TaskSettings.AdvancedSettings.EarlyCopyURL) { uploader.EarlyURLCopyRequested += url => ClipboardHelpers.CopyText(url); } return uploader.Upload(stream, fileName); } return null; }