Example #1
0
        public override async Task FileDownload(
            grpcFileTransportServer.FileInfo request, IServerStreamWriter <BytesContent> responseStream, ServerCallContext context)
        {
            string path = Path.Combine(_webHostEnvironment.WebRootPath, "files");

            using FileStream fileStream = new FileStream($"{path}/{request.FileName}{request.FileExtension}", FileMode.Open, FileAccess.Read);
            byte[]       buffer  = new byte[2048];
            BytesContent content = new BytesContent
            {
                FileSize = fileStream.Length,
                Info     = new grpcFileTransportServer.FileInfo
                {
                    FileName      = Path.GetFileNameWithoutExtension(fileStream.Name),
                    FileExtension = Path.GetExtension(fileStream.Name)
                },

                ReadedByte = 0,
            };

            while ((content.ReadedByte = await fileStream.ReadAsync(buffer, 0, buffer.Length)) > 0)
            {
                content.Buffer = ByteString.CopyFrom(buffer);
                await responseStream.WriteAsync(content);
            }
            fileStream.Close();
        }
        public override async Task Download(V1.FileStreaming.FileInfo request, IServerStreamWriter <BytesContent> responseStream, ServerCallContext context)
        {
            var path = GetPath();

            try
            {
                using FileStream fileStream = new FileStream($"{path}/{request.FileName}{request.FileExtension}", FileMode.Open, FileAccess.Read);

                byte[] buffer = new byte[2048];

                BytesContent content = new BytesContent
                {
                    FileSize = fileStream.Length,
                    Info     = new V1.FileStreaming.FileInfo {
                        FileName = "video", FileExtension = ".mp4"
                    },
                    ReadedByte = 0
                };

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

                fileStream.Close();
            }
            catch (Exception ex)
            {
            }
        }
        static async Task Main(string[] args)
        {
            var channel = GrpcChannel.ForAddress("https://*****:*****@"C:\Users\emiq1\OneDrive\Masaüstü\ornekvideo.m4v";

            using FileStream fileStream = new FileStream(file, FileMode.Open);
            var content = new BytesContent
            {
                FileSize   = fileStream.Length,
                ReadedByte = 0,
                Info       = new grpcFileTransportClient.FileInfo
                {
                    FileName      = Path.GetFileNameWithoutExtension(fileStream.Name),
                    FileExtension = Path.GetExtension(fileStream.Name)
                }
            };
            var upload = client.FileUpload();

            byte[] buffer = new byte[2048];
            while ((content.ReadedByte = await fileStream.ReadAsync(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 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();
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Id.Length != 0)
            {
                hash ^= Id.GetHashCode();
            }
            if (MessageType.Length != 0)
            {
                hash ^= MessageType.GetHashCode();
            }
            if (MessageSubtype.Length != 0)
            {
                hash ^= MessageSubtype.GetHashCode();
            }
            if (IsText != false)
            {
                hash ^= IsText.GetHashCode();
            }
            if (TextContent.Length != 0)
            {
                hash ^= TextContent.GetHashCode();
            }
            if (BytesContent.Length != 0)
            {
                hash ^= BytesContent.GetHashCode();
            }
            if (ContentStampTime.Length != 0)
            {
                hash ^= ContentStampTime.GetHashCode();
            }
            if (CreateTime.Length != 0)
            {
                hash ^= CreateTime.GetHashCode();
            }
            if (RoutingKey.Length != 0)
            {
                hash ^= RoutingKey.GetHashCode();
            }
            return(hash);
        }
 void setBytesContent(String key, byte[] content)
 {
     mBytesContent = new BytesContent(key, content);
 }