【发布时间】:2015-09-15 16:06:41
【问题描述】:
我正在使用 Spring websockets(STOMP 作为子协议)和 Sockjs 开发一个消息传递应用程序。
我应该支持在消息中发送文件。
根据this ticket,sockjs 不支持二进制数据,但是 STOMP 支持。
我知道我们可以将图像转换为 base64 并通过 stomp 发送,但我认为这不是最佳实践,因为存在大量转换和开销。我还必须保存消息,所以要再次将这个 base64 编码文件保存在服务器上,我必须对它们进行解码。
我有几个问题:
1) 是否有解决方法通过 sockjs + stomp 或发送图像/文件,转换为 Base64 是唯一的方法?
2) 这可能是一个非常愚蠢的问题,但根据this question,可以通过 STOMP(不带 sockjs)发送二进制数据。没有 sockjs 支持 fallback 有多难?
谢谢。
编辑:如果使用 base64 是唯一的选择,我宁愿发出 POST 请求来保存带有附件的消息,而不是使用 base64 编码。有什么更好的想法吗?
【问题讨论】:
标签: javascript stomp spring-websocket sockjs