我尝试通过xmpp和smack发送文件
FileTransferManager manager = new FileTransferManager(
this.xmppConnection);
OutgoingFileTransfer transfer = manager
.createOutgoingFileTransfer(this.jid);
transfer.sendFile(file, "test");
while (!transfer.isDone()) {
LOGGER.info("Uploading File: " + file.getName() + " STATUS: "
+ transfer.getStatus() + " >> progress: " + 100
* transfer.getProgress());
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
LOGGER.error("Exception: " + ex);
}
}
LOGGER.info("File transfer is done: " + file.getName() + " STATUS: "
+ transfer.getStatus() + " >> progress: " + 100
* transfer.getProgress());
LOGGER.info("Amount written: " + transfer.getAmountWritten());
LOGGER.info("Bytes sent: " + transfer.getBytesSent());
LOGGER.info("Peer: " + transfer.getPeer());
LOGGER.info("Error: " + transfer.getError());
LOGGER.info("Exception: ", transfer.getException());
日志是: 上传文件:image_P9.png状态:初始>>进度:0.0 上传文件:image_P9.png状态:谈判转移>>进度:0.0 文件传输完成:image_P9.png状态:拒绝>>进度:0.0 金额:-1 发送的字节数:-1 同行:felix.infraview@jabber.de/IM+ Android 错误:null 例外:
所以我没有得到错误或异常。发送被拒绝了。
我的目标是将内联图像发送到任何Android客户端。
答案 0 :(得分:2)
状态:拒绝
...
同行:felix.infraview@jabber.de/IM +
这意味着目标对等方不支持您提供的文件传输方法。 XMPP SI File Transfer是一个非常复杂的规范,它不是由简单的客户端实现的。 事实上,它也没有在Smack中正确实现,它们可以为您提供有关错误的详细描述,但只实现了通用的“拒绝”。