我很难弄清楚如何使用Google协议缓冲区通过WebSocket发送文件。
我的缓冲区消息结构是
message FileData_m {
required uint32 block = 1; // File starting offset
required bytes data = 2; // Size of 65536 for blocks
}
我们的想法是将文件分解为块并通过WebSocket发送。目前我正在运行一个处理主机和服务器之间交互的Node.js服务器我只是不知道如何以二进制方式正确发送文件。
任何帮助和/或指点我正确的方向都会非常有帮助!
答案 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
});