文件上传& Google Protobuf

时间:2016-04-20 19:29:30

标签: javascript node.js protocol-buffers

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

我的缓冲区消息结构是

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

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

任何帮助和/或指点我正确的方向都会非常有帮助!

1 个答案:

答案 0 :(得分:2)

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

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

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

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