我使用Openfire with Conversations并希望使用HttpUploadComponent实现离线文件传输,我已经在openfire文件夹中复制了httpupload文件夹,如下图所示:
然后我在openfire中进行了以下配置:
我还在httpupload文件夹中安装了Python并配置了config.yml文件,如下所示:
component_jid: upload.192.168.105.164
component_secret:1234 component_port:5275
storage_path:./ var / lib / httppupload /
max_file_size:20971520#20MiB
http_address:0.0.0.0 #use 0.0.0.0如果您不想使用代理 http_port:8080
get_url:http://192.168.105.164:8080/
put_url:http://192.168.105.164:8080/
expire_interval:82800#到期运行之间的秒数(82800秒= 23小时)。设置为' 0' 0禁用 expire_maxage:2592000 #files早于此(以秒为单位)被到期运行删除(2592000 = 30天) user_quota_hard:104857600#100MiB。设置为' 0' 0通过硬配额禁用上传 user_quota_soft:78643200#75MiB。设置为' 0' 0禁用通过软配额删除旧上传的到期运行 allow_web_clients:true #answer OPTIONS请求允许Web客户端上传文件
我也运行了Httpupload服务器:
启动python服务器后,如果你去openfire \ serversetting \ external components *查看外部组件* [在第一行],你会看到是否创建了会话:
在所有这些之后,当我想从Android客户端发送一个文件时,它会发生故障并且它给了我这个错误:
我的问题在哪里?感谢。
答案 0 :(得分:0)
在附加的错误屏幕截图中,最后一个单词是403,表示它与HttpUploadComponent结束时的授权有关。
现在我开始检查这个组件的代码,在https://github.com/siacs/HttpUploadComponent/blob/master/httpupload/server.py的第83行,它正在选择变量" storage_path"从配置到将文件放在该目录中。
现在如你的问题所述,你已经设置了storage_path:./ var / lib / httppupload /
但是你在Windows机器上,这条路径无效。
尝试提供有效的Windows操作系统路径。