gRPC c# 文件下载/上传 + Web 客户端

阿尔伯特·柳巴尔斯基

主要问题:

我正在寻找一种解决方案来提高大文件的上传/下载速度。我听说过相对较新的技术 gRPC。我知道它有利于服务器到服务器的通信,例如微服务架构。

客户

但是,我需要在前端(浏览器)(例如Fine uploader、jQuery 文件上传插件、 Resumable.js)上使用 gRPC 支持文件上传/下载组件我可以自己做支持。但我不知道如何以及如何以及是否可能。所以我需要一个例子或建议或指向正确的方向。无论 JS 方面:vanilla、react、angular ...

服务器端

  • c# 更可取
  • node.js 可能
  • java 可行

对该主题进行的研究

请帮助或至少说这是不可能的

atish.s

是的,可以使用 gRPC 在浏览器和服务器之间进行通信。我建议您在实施解决方案之前进行概念验证。

gRPC 使用 protobuf 进行通信,需要通信的数据封装在一个 protobuf 中message

gRPC Java 文件下载示例中的第一个答案是正确的。为了能够通过网络传输文件,您必须将其转换为bytes.

用他的例子,

message DataChunk {
   bytes data = 1;
}

service imageService {
   rpc DownloadProductImage(DownloadProductImageRequest) returns(stream DataChunk);
}

所有这些代码都应该在一个 protofile 中,并且应该使用 protobuf 生成器生成实现(通常它是 java 的 maven 插件)。

在提供的示例中需要注意的重点是单词stream,这将使您能够将字节发送到服务器,反之亦然。在示例中,他正在从服务调用 DownloadProductImage 下载字节流。

这是一个很好的起点gRPC Java 基础gRPC 概念使用 Java 构建 gRPC 服务

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章