2016-02-09 3 views
2

Я разрабатываю веб-клиент чата (на основе XMPP) с использованием Strophe.js. На стороне сервера у меня есть сервер Openfire.Полный пример передачи файла Strophe.js

Я ищу полный (и рабочий) пример передачи файла (xep-0096) с использованием Strophe.js.

Я знаю, что есть плагин с именем si-filetransfer, который должен помочь в реализации этой функции, но документация отсутствует. Поэтому понять, как это работает, непросто.

Здесь на StackOverflow я нашел только некоторые неполную запись, касающуюся этого вопроса, как, например: Save received files from xmpp Strophe si-filetransfer

Также в Интернете я не нашел полного решения моих потребностей.

Если есть еще одно решение для достижения вышеуказанной цели (передача файла в JS-клиенте с использованием протокола XMPP), то это приветствуется!

+0

'я нашел только некоторые неполную запись, связывающая вопрос' - где? [Это] (https://stackoverflow.com/questions/32526701/save-received-files-from-xmpp-strophe-si-filetransfer)? –

+0

Да, это один из них –

+1

@all_who_voted_to_close: Я не понимаю, как вы могли бы оценить мой пост как вне темы, если 4 из вас (4/5) не имеют в своем профиле XMPP или Strophe ... (и у последнего нет Strophe ...). –

ответ

6

Здесь внизу очень простой чат демо, написанные с использованием JQuery и StropheJS с передачи файлов функции. Осуществление передачи файлов на основе этих двух Strophe.js плагинов:

Кроме того, для того, чтобы обеспечить передачу файлов больше, чем 65535 байт, он также используется алгоритм отрывов.

Вот Plunker: http://plnkr.co/edit/fYpXo1mFRWPxrLlgr123

PS: вы должны развернуть свой собственный сервер XMPP и адаптировать следующие строки кода в соответствии с конфигурацией:

var server = 'mydomain.com'; 
var BOSH_SERVICE = 'http://127.0.0.1:7070/http-bind/'; 
+0

Я пробовал ваш код, и я заметил, что иногда случается, что ibb переходит в тайм-аут ... Есть ли решение для этой проблемы? –

+1

Вы можете использовать более надежное соединение, изменяющееся от Http-bind (bosh) до Websockets, если ваш сервер это разрешает. Очевидно, вам нужно изменить URL-адрес соединения (т. Е. Ws: //127.0.0.1: 7070/ws /) – beaver

+0

Спасибо большое @beaver! . –

Смежные вопросы