我正在尝试通过 xmlrpc 将文件作为 base64 编码字符串发送。
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)。
这是类定义 o xmlrpc_c::value_* http://xmlrpcpp.sourceforge.net/doc/classXmlRpc_1_1XmlRpcValue.html
我刚刚意识到我需要改用 xmlrpc_c::value_bytestring() 。如何在 C++ 中将文件转换为字节串?我已经有一个 ByteArray 了。
我在这里不知所措..