2

我将 Openfire 与 Conversations 一起使用,并希望使用HttpUploadComponent实现离线文件传输,我已将 httpupload 文件夹复制到 openfire 文件夹中,如下图所示:

在此处输入图像描述

然后我在openfire中做了以下配置:

在此处输入图像描述

在此处输入图像描述

我还在 httpupload 文件夹中安装了 Python 并配置了 config.yml 文件,如下所示:

component_jid: upload.192.168.105.164

组件秘密:1234 组件端口:5275

存储路径:./var/lib/httpupload/

最大文件大小:20971520 #20MiB

http_address: 0.0.0.0 #如果不想使用代理,请使用 0.0.0.0 http_port: 8080

获取网址:http : //192.168.105.164 :8080/

put_url : http://192.168.105.164:8080/

expire_interval: 82800 #time in secs between expiry runs (82800 secs = 23 hours). 设置为 '0' 以禁用 expire_maxage: 2592000 #比此更旧的文件(以秒为单位)被过期运行(2592000 = 30 天)删除 user_quota_hard: 104857600 #100MiB。设置为“0”以禁用拒绝超过硬配额的上传 user_quota_soft: 78643200 #75MiB。设置为“0”以禁用通过软配额删除旧上传 到期运行 allow_web_clients: true #answer OPTIONS 请求允许 Web 客户端上传文件

我也运行了 Httpupload 服务器:

在此处输入图像描述

启动python服务器后,如果你去openfire\serversetting\external components*查看外部组件* [在第一行],你会看到会话是否创建:

在此处输入图像描述

在此处输入图像描述

毕竟,当我想从 android 客户端发送文件时,它失败了,它给了我这个错误:

在此处输入图像描述

我的问题在哪里?谢谢。

4

1 回答 1

0

附上的错误截图,最后一个字是403,表示与HttpUploadComponent端的授权有关。

现在我开始检查这个组件的代码,在https://github.com/siacs/HttpUploadComponent/blob/master/httpupload/server.py的第 83 行,它从配置中选择变量“storage_path”来放置文件在那个目录中。

现在正如你的问题中提到的,你已经设置了 storage_path : ./var/lib/httpupload/

但是您在 Windows 机器上,并且此路径无效。

尝试提供有效的 Windows 操作系统路径。

于 2016-11-22T00:03:50.533 回答