private static async Task FileStreamingUpload()
        {
            var    channel         = GrpcChannel.ForAddress("https://localhost:5317");
            var    client          = new FileStreamingServiceClient(channel);
            var    contentRootPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
            string file            = Path.Combine(contentRootPath, "Files", "sample.mp4");
            var    fileInfo        = new System.IO.FileInfo(file);

            using FileStream fileStream = new FileStream(file, FileMode.Open);

            var content = new BytesContent
            {
                FileSize   = fileStream.Length,
                ReadedByte = 0,
                Info       = new V1.FileStreaming.FileInfo {
                    FileName = Path.GetFileNameWithoutExtension(fileInfo.Name), FileExtension = fileInfo.Extension
                }
            };

            var upload = client.Upload();

            byte[] buffer = new byte[2048];

            while ((content.ReadedByte = fileStream.Read(buffer, 0, buffer.Length)) > 0)
            {
                content.Buffer = ByteString.CopyFrom(buffer);
                await upload.RequestStream.WriteAsync(content);
            }
            await upload.RequestStream.CompleteAsync();

            fileStream.Close();
        }
        private static async Task FileStreamingDownload()
        {
            var    channel         = GrpcChannel.ForAddress("https://*****:*****@$ "{downloadPath}\{request.ResponseStream.Current.Info.FileName}{request.ResponseStream.Current.Info.FileExtension}", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
                    fileStream.SetLength(request.ResponseStream.Current.FileSize);
                }

                var buffer = request.ResponseStream.Current.Buffer.ToByteArray();
                await fileStream.WriteAsync(buffer, 0, request.ResponseStream.Current.ReadedByte);

                Console.WriteLine($"{Math.Round(((chunkSize += request.ResponseStream.Current.ReadedByte) * 100) / request.ResponseStream.Current.FileSize)}%");
            }