根据Is it possible to send binary data with STOMP over WebSockets using Spring-WebSockets?答案的门票,应该可以使用spring-websockets发送和接收文件。
目前我正在将文件转换为ArrayBuffer然后发送它:
fileInput.addEventListener('change', function(e) {
var file = fileInput.files[0];
var reader = new FileReader();
reader.readAsArrayBuffer(file);
stompClient.send("/app/requests." + channelId + ".files", {}, reader.result);
});
但据我所知,控制器在消息有效负载中没有收到Bytearray。
@MessageMapping("requests.{channelId}.files")
public void receiveFile(@DestinationVariable String channelId, Message<?> message) throws Exception {
...
}
有人可以发一个关于如何正确完成这个工作的例子吗? 谢谢