【发布时间】:2015-10-28 14:02:41
【问题描述】:
我正在使用库 cpprest。我正在尝试将图像文件作为二进制文件发送到端点。我需要它遵循
的json结构{
"image": "binaryfile",
"type": "file"
}
但是我不知道该怎么做,只有接收二进制数据的好例子。这就是我目前所拥有的:
ifstream imageToConvert;
imageToConvert.open("path to file", ios::binary);
ostringstream ostrm;
if (imageToConvert.is_open())
{
ostrm << imageToConvert.rdbuf();
imageToConvert.close();
}
imageToConvert.close();
//build json string to convert
string MY_JSON = ("{\"image\" : \"");
MY_JSON += (ostrm.str());
MY_JSON += ("\",\"type\" : \"file\"}");
//set up json object
json::value obj;
obj.parse(utility::conversions::to_string_t(MY_JSON));
但是这会引发内存错误异常。所以我的问题是,从文件中获取此二进制数据的最佳方法是什么,以及如何正确构建我的 json 对象以在我的帖子中发送?
【问题讨论】:
-
你看过this吗?它对你有帮助,所以我不确定这是否会破坏交易。
-
我不确定这在这种情况下是否对我有帮助。在这一点上,我真的没有要构建的 json。我需要使用图像文件的二进制输出并将其添加到 json 对象中,如果有意义的话,cpprest 库将允许我发送。