0
我想通过xmlrpc作为base64编码的字符串发送文件。编码文件为base64字符串在QT与XMLRPC
QFile sourceFile("/home/alexander/test.jpg");
QByteArray srcRawData = sourceFile.readAll();
QByteArray base64Encoded = srcRawData.toBase64();
std::string strTest(base64Encoded);
xmlrpc_c::paramList sampleAddParms;
sampleAddParms.add(xmlrpc_c::value_string("113957571"));
sampleAddParms.add(xmlrpc_c::value_string(strTest));
sampleAddParms.add(xmlrpc_c::value_string("test.jpg"));
当我送这个给我的服务器我得到: 客户抛出错误:RPC响应指示失败。错误的参数类型(ap_adddocument):参数数据的预期base64,得到(Python)。
这是类定义Øxmlrpc_c :: VALUE_ * http://xmlrpcpp.sourceforge.net/doc/classXmlRpc_1_1XmlRpcValue.html
我才意识到我需要使用xmlrpc_c :: value_bytestring()代替。如何将文件转换为C++中的字节字符串?我已经有了一个ByteArray。
我在这里损失..
为什么要将JPG图片转换为字符串? – duDE 2013-04-10 12:54:32
因为我想通过XML-RPC发送它。我需要发送它为base64 ..我不知道如何做到这一点。 – 2013-04-10 14:38:21
'xmlrpc_c :: value_bytestring()'的签名是什么?它是'xmlrpc_c :: value_bytestring(const char *)' – warunanc 2013-04-11 12:06:39