Ios XEP-0363:Swift中的HTTP文件上载
正在使用XMPP ejabberd服务器处理聊天应用程序,在这里我无法获得用于图像上载的插槽,这是一个用于在服务器上上载附件的文档() 这是我的代码,我的问题是在使用此代码请求后没有任何来自服务器的响应没有发生任何事情我的服务器正在工作我可以发送短信,请帮助Ios XEP-0363:Swift中的HTTP文件上载,ios,iphone,swift,ejabberd,xmppframework,Ios,Iphone,Swift,Ejabberd,Xmppframework,正在使用XMPP ejabberd服务器处理聊天应用程序,在这里我无法获得用于图像上载的插槽,这是一个用于在服务器上上载附件的文档() 这是我的代码,我的问题是在使用此代码请求后没有任何来自服务器的响应没有发生任何事情我的服务器正在工作我可以发送短信,请帮助 let iqRequest = DDXMLElement.element(withName: "iq") as! DDXMLElement iqRequest.addAttribute(withName:
let iqRequest = DDXMLElement.element(withName: "iq") as! DDXMLElement
iqRequest.addAttribute(withName: "from", stringValue: sender.myJID.full())
iqRequest.addAttribute(withName: "id", stringValue: messageID!)
iqRequest.addAttribute(withName: "type", stringValue: "get")
iqRequest.addAttribute(withName: "to", stringValue: "upload.hostname")
let requestElement = DDXMLElement.element(withName: "request", uri: "urn:xmpp:http:upload") as! DDXMLElement
let fileNameElement = DDXMLElement.element(withName: "filename") as! DDXMLElement
fileNameElement.stringValue = "imageName.png"
let sizeElement = DDXMLElement.element(withName: "size") as! DDXMLElement
sizeElement.stringValue = "23456"
requestElement.addChild(fileNameElement)
requestElement.addChild(sizeElement)
iqRequest.addChild(requestElement)
sender.send(iqRequest)
您是否也安装了ejabberd扩展?您应该参考以下问题:如何设置扩展:。您可以从管理面板检查模块是否已启用
然而,就个人而言,我不会使用ejabberd来托管这些文件。在过去,我将文件上传到标准Apache服务器,然后通过XMPP发送图像URL。这有很多好处,因为它使您能够更好地控制文件。例如,您可以使用AWS托管文件,然后通过CDN分发它们 你能帮我上传目标c中的文件吗。提供示例代码或给出xep-0363的想法。我在这方面做了很多研究,但什么都没做