- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
主要问题:
我正在寻找一种解决方案来提高大文件的上传/下载速度。我听说过相对较新的技术 gRPC。我知道这对服务器到服务器的通信很有用,例如微服务架构。
客户端
但是,我需要前端(浏览器)上的文件上传/下载组件(例如 Fine uploader、jQuery 文件上传插件、Resumable.js)并支持 gRPC。我可以自己做支持。但我根本不知道如何、什么以及是否可能。所以我需要一个例子或建议或指向正确的方向。无论 JS 端:vanilla、react、angular ...
服务器端
对该主题的研究
请帮忙或至少说不可能
最佳答案
是的,可以使用 gRPC 在浏览器和服务器之间进行通信。我建议您在实现解决方案之前进行概念验证。
gRPC使用protobuf进行通信,需要通信的数据封装在protobufmessage
中。
gRPC Java File Download Example中的第一个答案是正确的。为了能够通过网络传输文件,您必须将其转换为字节
。
用他的例子,
message DataChunk {
bytes data = 1;
}
service imageService {
rpc DownloadProductImage(DownloadProductImageRequest) returns(stream DataChunk);
}
所有这些代码都应该在一个 protofile 中,并且应该使用 protobuf 生成器生成实现(通常它是 java 的 maven 插件)。
在提供的示例中要注意的重点是单词stream,这将使您能够将字节发送到服务器,反之亦然。在示例中,他正在从服务调用 DownloadProductImage 下载字节流。
这是一个很好的起点 gRPC Java Basics , gRPC Concepts , Building a gRPC service with Java
关于c# - gRPC c# 文件下载/上传 + Web 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59485873/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!