请教如何解决Poco http上传文件ConnectionResetException
大家好:我是一个C++开发新手,在使用poco开发http上传文件工具时遇到了困难,希望有热心人士能帮我看看:
这个工具要求能实现本地文件上传到存储服务器,为了便于调试, 我暂时把url都写死了,本地路径跟踪下来也是确实有这个文件的(代码中的source),但在把本地文件流拷贝到发送请求返回的输出流时有Poco::Net::ConnectionResetException这个异常,查了几天也没找到原因,建立连接getConnect()应该都是正常的,因为从上面下载文件到本地是正常的。就是想不通流拷贝的时候为什么要再次重置连接,然后再往下就出现连接被终止的异常了。望高手能指点一下。谢谢。
void RESTSession::UploadFile(const std::string& source,
const std::string& target)
{
try
{
std::string strURI = "http://pacstest.pacs.hcp.kstwinning.com/rest/hcptest/110888.dcm";
Poco::URI uri(strURI);
std::string path(uri.getPath());
RESTSessionPtr rest = impl->getConnect();
HTTPRequest req(Poco::Net::HTTPRequest::HTTP_PUT, path, Poco::Net::HTTPMessage::HTTP_1_1);
std::ifstream ifs(source.c_str(),std::ios::binary);
std::ostream& outs = rest->sendRequest(req);
Poco::StreamCopier::copyStream(ifs, outs);
HTTPResponse resp;
rest->receiveResponse(resp);
}
catch(RESTException& exp)
{
}
}