我有一台服务器,应该将image's
QByteArray toBase64
格式(附在xml中)发送给客户端。我Run
时服务器本身工作正常,但started Degubbing
而不是仅运行时。服务器不会发送带有附加QByteArray的图像xml。我不明白是什么原因?顺便说一下,当调试服务器启动服务器时,它没有显示任何错误。图像位于服务器端,其服务器任务是发送图像。以下是服务器通过getVCardImage方法提取图像的方法:
QByteArray &VCardExtensionPrivate::getVCardImage(const QString &imageName,
const QString& type)
{
if(!m_image.isNull()) m_image.clear();
QString imagePath = QString("%1/avatars/%2").arg(QCoreApplication::applicationDirPath())
.arg(imageName);
QImage image;
image.load(imagePath);
if(!image.isNull()) {
QBuffer buffer(&m_image);
buffer.open(QIODevice::WriteOnly);
image.save(&buffer, imageType(type.toUpper()));
}
return m_image;
}
我确实将QByteArray保存到xml:
QDomElement newNodeTag = doc.createElement(QString("BINVAL"));
QDomText newNodeText = doc.createTextNode(getVCardImage(m_imagePath, photoType).toBase64());
发送
server()->sendPacket(xml)` \\ xml is QDomElement with <BINVAL>
开始运行工作正常!
<BINVAL>`QByteArray(toBase64) format`<\BINVAL>
开始调试
<BINVAL>`empty without any QByteArray`<\BINVAL>