Exemplo n.º 1
0
        public static async Task AddPhotoAsync(EmployeeService.EmployeeServiceClient client)
        {
            var md = new Metadata
            {
                { "username", "god" },
                { "role", "administrator" }
            };

            FileStream fs = File.OpenRead("logo.png");

            using var call = client.AddPtoto(md);

            var stream = call.RequestStream;

            while (true)
            {
                byte[] buffer  = new byte[1024];
                int    numRead = await fs.ReadAsync(buffer, 0, buffer.Length);

                if (numRead == 0)
                {
                    break;
                }

                if (numRead < buffer.Length)
                {
                    Array.Resize(ref buffer, numRead);
                }

                await stream.WriteAsync(new AddPhotoRequest()
                {
                    Data = ByteString.CopyFrom(buffer)
                });
            }

            await stream.CompleteAsync();

            var response = await call.ResponseAsync;

            Console.WriteLine(response.IsOk);
        }