如何使用ejabberd在XMPPFrameWork中发送文档文件,图像,视频和视频?

问题描述

我尝试使用ejabberd在XMPPFrameWork中发送文档文件,图像,视频和视频。我尝试使用此代码将图像发送给对手用户

import QtQuick 2.12
import QtQuick.Window 2.12
import QtGraphicalEffects 1.12

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Rectangle
    {
        height: 300; width: 300
        x: 10; y: 10
        color: "red"
        Path
        {
            startX: 20; startY: 0
            PathCubic {
                x: 180; y: 0
                control1X: -10; control1Y: 90
                control2X: 210; control2Y: 90
            }
        }
    }
}

但是我有这样的错误

  func sendImage(_ data:Data){
    let outgoingFileTransfer = XMPPOutgoingFileTransfer(dispatchQueue: .main)
    outgoingFileTransfer.activate(stream)
    outgoingFileTransfer.addDelegate(self,delegateQueue: .main)
    let opponent = XMPPJID(string: modelController.delegate?.userID() ?? .empty)!
    let recipient = XMPPJID(user: opponent.user,domain: opponent.domain,resource: "foo")
    do{
      outgoingFileTransfer.recipientJID = recipient
      outgoingFileTransfer.outgoingData = data
      try outgoingFileTransfer.start()
      try outgoingFileTransfer.start()
      try outgoingFileTransfer.send(data,named: Date().toString(format: .localPhotoSave),toRecipient: recipient,description: "outgoingFileTransfer Description")
    }catch{
      print(error.localizedDescription)
    }
  }
}

解决方法

我更喜欢 3. 派对解决方案。例如,您可以使用 Firebase 数据库。

  1. 您可以在 Firebase 存储中上传
  2. Firebase 将为您提供下载网址
  3. 您可以在任何附加的消息中使用此网址并发送给其他用户等。