如何解决如何使用 grpcurl 使用客户端流式 gRPC 分块上传图像
我一直在尝试使用 grpcurl 通过客户端流式传输分块上传图像。除了在服务器端接收到的图像数据为 0 字节外,服务正常运行。
我使用的命令是:
grpcurl -proto image_service.proto -v -d @ -plaintext localhost:3010 imageservice.ImageService.UploadImage This link 提到块数据应该是 base64 编码,所以我的 out 文件的内容是: This 正是我想要实现的目标,但使用了 grpcurl。 这是我的原型文件:{"chunk_data": "<base64 encoded image data>"}
请告诉我的命令有什么问题,以及通过 grpcurl 实现流式传输的最佳方法是什么。
我还有两个问题:
Syntax = "proto3";
package imageservice;
import "google/protobuf/wrappers.proto";
option go_package = "...";
service ImageService {
rpc UploadImage(stream UploadImageRequest) returns (UploadImageResponse) {}
}
message UploadImageRequest {
oneof data {
ImageInfo info = 1;
bytes chunk_data = 3;
};
}
message ImageInfo {
string unique_id = 1;
string image_type = 2;
}
message UploadImageResponse {
string url = 1;
}
解决方法
有趣的问题。我还没有尝试过使用(优秀的)webpack.mix.js
流式传输消息。
文档没有解释如何执行此操作,但 this 问题显示了如何使用 stdin 进行流式传输。
我建议您先尝试这种方式,以确保它适合您。
如果是这样,那么将各种消息捆绑到一个文件 (quotient = int (input('State the quotient of',str(first),'divided by',str(second))
) 中也应该可行。
您的后续问题表明您做错了。
-
grpcurl
是将文件分割成块的结果;即这些 base64 编码的字符串中的每一个都应该是整个图像文件的子集(即一个块)。 -
您的第一条消息应该是
out
,后续消息将是chunk_data
,直到 EOF。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。