mod_http_upload - 使用Ruby on Rails进行HTTP文件上载(XEP-0363)

时间:2016-02-23 13:15:14

标签: ruby-on-rails ejabberd

我想在聊天应用程序中的用户之间传输图像。我正在使用ejabberd服务器进行聊天。正如我发现的那样,可以执行此操作的模块是mod_http_upload - HTTP文件上载(XEP-0363)。

我无法弄清楚如何实现这一点。任何人如何帮助我弄清楚如何做到这一点将非常有帮助。

2 个答案:

答案 0 :(得分:3)

要使用此模块,请在ejabberd.yml文件中添加配置设置

listen:
    # add following lines in listen section
    -
      module: ejabberd_http
      port: 5443
      tls: true
      certfile: "/etc/ejabberd/example.com.pem"
      request_handlers:
        "": mod_http_upload

  access:    # add following lines in access section
    soft_upload_quota:
      all: 1000 # MiB
    hard_upload_quota:
      all: 1100 # MiB

  modules:  #add following lines in modules section 
      mod_http_upload:
      docroot: "/home/xmpp/upload"
      put_url: "http://@HOST@:5443"

在此网址上传输文件(根据您的设置网址)http://@HOST@:5443,就像在ruby on rails上一样。有关模块配置的详细信息,请检查此链接 - https://github.com/processone/ejabberd-contrib/blob/master/mod_http_upload/README.txt

上传文件后,您可以将链接(url)发送给用户下载文件。

答案 1 :(得分:0)

在我的情况下,我使用https及其有效的方法