Я работаю над приложением для обмена сообщениями, используя веб-сокеты Spring (STOMP в качестве подпротокола) и Sockjs.
Я должен обеспечить поддержку для отправки файлов в сообщениях.
Согласно этой заявке, sockjs не поддерживает двоичные данные, а STOMP поддерживает.
Я знаю, что мы можем преобразовать изображение в base64 и отправить его через Stomp, но я думаю, что это не лучшая практика, так как требуется много преобразований и накладных расходов. Также я должен сохранять сообщения, поэтому, чтобы снова сохранить эти файлы в кодировке base64 на сервере, мне придется их декодировать.
У меня есть пара вопросов:
1) Есть ли обходной путь для отправки изображений/файлов через sockjs + stomp или преобразование в Base64 — единственный способ?
2) Может быть, это очень глупый вопрос, но согласно этот вопрос можно отправлять двоичные данные через STOMP (без sockjs). Насколько сложно поддерживать откат без sockjs?
Спасибо.
EDIT: Если использование base64 является единственным вариантом, я бы предпочел сделать запрос POST, чтобы сохранить сообщения с вложениями, вместо использования кодировки base64. Есть идеи, что лучше?