Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios XEP-0363:Swift中的HTTP文件上载_Ios_Iphone_Swift_Ejabberd_Xmppframework - Fatal编程技术网

Ios XEP-0363:Swift中的HTTP文件上载

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:

正在使用XMPP ejabberd服务器处理聊天应用程序,在这里我无法获得用于图像上载的插槽,这是一个用于在服务器上上载附件的文档()

这是我的代码,我的问题是在使用此代码请求后没有任何来自服务器的响应没有发生任何事情我的服务器正在工作我可以发送短信,请帮助

        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的想法。我在这方面做了很多研究,但什么都没做