我很难弄清楚如何使用 Google Protocol 缓冲区通过 WebSocket 发送文件。
我的缓冲区消息结构是
message FileData_m {
required uint32 block = 1; // File starting offset
required bytes data = 2; // Size of 65536 for blocks
}
这个想法是将文件分成 block 并通过 WebSocket 发送。目前我正在运行一个 Node.js 服务器来处理主机和服务器之间的交互,我只是不知道如何以二进制方式正确发送文件。
任何帮助和/或为我指明正确的方向都会非常有帮助!
最佳答案
解决这个问题的方法是确保我的数据是使用数组缓冲区发送的
var dataToSend = new ArrayBuffer(65536);
dataToSend = file; // File that was uploaded from file chooser
然后,在创建 protobuf 消息时,只需使用该数组缓冲区作为数据源
var FileData = new FileData({
"block": 0,
"data": dataToSend
});
关于javascript - 文件上传和 Google Protobuf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36753395/