http_response response;
http::uri_builder url(U("1?name=dyz"));
concurrency::streams::fstream::open_istream(file, std::ios::in).then([&](concurrency::streams::istream isfile)
{
std::string boundary = ("----XXXX-YYYY-ZZZZ-$$$$");
std::string first_boundary = ("--") + boundary + ("\r\n");
std::string next_boundary = ("\r\n--") + boundary + ("\r\n");
std::string last_boundary = ("\r\n--") + boundary + ("--") + ("\r\n");
std::string data_header = ("Content-Disposition: form-data; name=\"data\"\r\n\r\n");
std::string data_body = ("{\"name\":\"duyongze\"}");
std::string file_header = ("Content-Disposition: form-data; name=\"file\"; filename=\"duyongze.shp\"\r\n");
std::string file_type = ("Content-Type: application/octet-stream\r\n\r\n");
std::string file_body = ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
std::string data = first_boundary + data_header + data_body + next_boundary + file_header + file_type + file_body + last_boundary;
concurrency::streams::container_buffer<std::string> rbuf(data);
concurrency::streams::istream isdata(rbuf);
concurrency::streams::streambuf<uint8_t> shpFileBuf = isfile.streambuf();
response = cli.request(methods::POST, url.to_string(), isdata, U("multipart/form-data; boundary=----XXXX-YYYY-ZZZZ-$$$$")).get();
BJPutResponse answer = BJPutResponse::FromJSON(response.extract_json().get());
refresh = answer.Status == ST_Refresh;
}).then([](pplx::task<void> t)
{
try
{
t.get();
}
catch (...)
{
}
});
Content - Type:multipart / form - data; boundary = ----XXXX-YYYY-ZZZZ-$$$$
最新推荐文章于 2024-05-11 03:22:27 发布