Go 如何使用ProtoBuf下载文件

Go 如何使用ProtoBuf下载文件,go,protocol-buffers,grpc,Go,Protocol Buffers,Grpc,我正在尝试通过浏览器直接实现文件下载。我公司使用协议缓冲区作为数据通信格式。那么,一旦我打开网页,如何下载文件呢 我尝试使用协议缓冲区的字节和流。但结果是 {"result":{"data":"Cw4ODg4ODgsMCw4ODg4ODgsMTUwMCwwLDE1MDAsNDAwMDAsMTAwMDAsMzAwMDAKMDMvMTEvMjAxNSxVbmtub3duIEl0ZW0sUHJlIFJvbGwgVmlkZW8gKG1heCAwOjMwKSw2MDAwMCwzMTAwMCwyOTAwMC

我正在尝试通过浏览器直接实现文件下载。我公司使用协议缓冲区作为数据通信格式。那么,一旦我打开网页,如何下载文件呢

我尝试使用协议缓冲区的
字节
。但结果是

{"result":{"data":"Cw4ODg4ODgsMCw4ODg4ODgsMTUwMCwwLDE1MDAsNDAwMDAsMTAwMDAsMzAwMDAKMDMvMTEvMjAxNSxVbmtub3duIEl0ZW0sUHJlIFJvbGwgVmlkZW8gKG1heCAwOjMwKSw2MDAwMCwzMTAwMCwyOTAwMCw1MDAwMCwyNDAwMCwyNjAwMCwyMC4wMCUsODQ0NCwwLDQwMDAsNDQ0NCw4OTAzODgsMCwwLDAsODg4ODg4LDAsODg4ODg4LDE1MDAsMCwxNTAwLDQwMDAwLDIxMDAwLDE5MDAwCg=="}}

Protobuf适用于结构化通信,但http为下载文件提供了完美的协议。需要设置正确的标题,浏览器将下载文件

如果您确实需要使用protobuf来传输文件,那么您需要添加一些javascript,首先解析protobuf,然后将其转换为可下载的文件。请参阅以供参考


因此,以字节的形式发送消息,添加解析protobuf消息的javascript以提取字节,然后创建文件下载,就像链接的答案一样

你想要的结果是什么?Protobuf是二进制的;没有合适的工具,字迹模糊;在本例中,它看起来像是在JSON中包装为base-64,但是:原始二进制文件或显示的JSON/base-64都可以。如果你能告诉我们上面说的话,你已经下载了。那么:您希望实现什么不同的结果?