我有超过1 MB的JSON数据,需要通过stomp WebSocket发送。我们使用的是嵌入式Tomcat的Sping Boot 。
我把我的数据压缩成gzip,然后转换成字符串通过WebSocket发送。我修改了stomp头发送内容编码作为响应的一部分,但浏览器无法解压缩和读取它。
如何在react/redux/js中读取客户端中的json。
SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create();
accessor.setContentType(MimeTypeUtils.TEXT_PLAIN);
accessor.setNativeHeader("content-encoding", "gzip");
accessor.setLeaveMutable(true);
MessageHeaders headers = accessor.getMessageHeaders();
this.template.convertAndSend("/topic/Default", compress("{Dummy Json}"),headers);
public static String compress(String str) {
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(str.getBytes());
gzip.close();
String outStr = out.toString("UTF-8");
return outStr;
}
1条答案
按热度按时间rt4zxlrg1#
你可以添加下面的配置来压缩它