public override Task <RecordingModel> GetRecordingFile(RecordingLookupModel request, ServerCallContext context) { RecordingModel output = new RecordingModel(); var Recording = _appDbContext.Recordings.FirstOrDefault(r => r.Id == request.RecordingId); if (Recording == null) { throw new Exception("Brak wpisu w bazie"); } var filePath = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\recordings", Recording.RecordingPath); using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { byte[] RecordingData = System.IO.File.ReadAllBytes(filePath); fileStream.Read(RecordingData, 0, System.Convert.ToInt32(fileStream.Length)); output.RefordingFile = ByteString.CopyFrom(RecordingData); } output.Id = Recording.Id; output.Name = Recording.Name; output.Extension = Path.GetExtension(filePath); return(Task.FromResult(output)); }
static async Task Main(string[] args) { var channel = GrpcChannel.ForAddress("https://*****:*****@"C:\path", fileName); System.IO.File.WriteAllBytes(filePath, recording.RefordingFile.ToByteArray()); Console.WriteLine($"{ recording.Name }"); Console.ReadLine(); }