public override Task <bool> Backup(string fileName, byte[] contents, string contentType) { var saveTo = Path.Combine(GlobalBackupSettings.LocalDirectory.ReplaceVariables(Service), fileName); if (!_fileSystemService.DirectoryExists(Path.GetDirectoryName(saveTo))) { _fileSystemService.CreateDirectory(Path.GetDirectoryName(saveTo)); } var memoryStream = new MemoryStream(contents); var byteBuffer = new byte[1024 * 1024 * 2]; memoryStream.Position = 0; while (memoryStream.Read(byteBuffer, 0, byteBuffer.Length) > 0) { _fileSystemService.AppendFile(saveTo, byteBuffer); } return(System.Threading.Tasks.Task.FromResult(true)); }
/// <summary> /// Выполняет дозапись массива байтов в конец файла. /// </summary> /// <param name="path">Путь к файлу.</param> /// <param name="data">Массив байтов.</param> /// <returns>Количество записанных байтов.</returns> public void AppendFile(string path, byte[] data) { FileSystem.AppendFile(path, data); }