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); }