file upload和谷歌Protobuf

我很难弄清楚如何使用Google协议缓冲区通过WebSocket发送文件。

我的缓冲区的消息结构是

message FileData_m { required uint32 block = 1; // File starting offset required bytes data = 2; // Size of 65536 for blocks } 

这个想法是将文件分解成块并通过WebSocket发送。 目前我正在运行一个处理主机和服务器之间的交互的Node.js服务器,我只是不知道如何以二进制方式正确发送文件。

任何帮助和/或指引我在正确的方向将是非常有益的!

解决scheme是确保我的数据是使用数组缓冲区发送的

 var dataToSend = new ArrayBuffer(65536); dataToSend = file; // File that was uploaded from file chooser 

然后,在创buildprotobuf消息时,只需使用该数组缓冲区作为数据源

 var FileData = new FileData({ "block": 0, "data": dataToSend });