问题描述
我尝试使用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 数据库。
- 您可以在 Firebase 存储中上传
- Firebase 将为您提供下载网址
- 您可以在任何附加的消息中使用此网址并发送给其他用户等。