public void UploadFiles(Configuration config, string fileName, string fileType, int offset, int count) { var fileApi = new FileApi(config); try { if (!Directory.Exists(ConfigurationManager.AppSettings["SourcePath"] + "metrics/")) { Directory.CreateDirectory(ConfigurationManager.AppSettings["SourcePath"] + "metrics/"); } Stream file = new FileStream(fileName + fileType, FileMode.Open, FileAccess.Read); Stream outFileStream = new FileStream(ConfigurationManager.AppSettings["SourcePath"] + "metrics/" + Path.GetFileName(fileName) + "-" + fileType + "_" + offset / count + "_" + DateTime.Now.Ticks + "_Metric.txt", FileMode.OpenOrCreate, FileAccess.Write); var outFile = new StreamWriter(outFileStream); var timer = new Stopwatch(); for (var i = offset; i < offset + count; i++) { file.Seek(0, SeekOrigin.Begin); timer = Stopwatch.StartNew(); var response = fileApi.FileUploadPostWithHttpInfo(Path.GetFileNameWithoutExtension(fileName) + "_" + i + Path.GetExtension(fileName) + fileType, file); if (response.StatusCode > 200 && response.StatusCode < 205) { timer.Stop(); outFile.Write("Uploading time: " + timer.ElapsedMilliseconds + ", " + Path.GetFileNameWithoutExtension(fileName) + "_" + i + Path.GetExtension(fileName) + fileType + "\n\n"); Console.WriteLine(Path.GetFileNameWithoutExtension(fileName) + "_" + i + Path.GetExtension(fileName) + fileType + " upload success!"); } else { Console.WriteLine("File upload failed!"); } if (response.Data != null) { var a = response.Data; } } Console.WriteLine("\n\nAll files uploaded successfully!"); file.Close(); outFile.Close(); } catch (Exception e) { Console.WriteLine(e.Message + "\n"); //Console.WriteLine("File create failed. No such directory or access failure.\n"); } }