首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

IdHTTPServer接收数据有关问题

2012-09-05 
IdHTTPServer接收数据问题程序接收设备主动上传的照片数据,各参数都能正常接收,就是照片数据接收不上来,查

IdHTTPServer接收数据问题
程序接收设备主动上传的照片数据,各参数都能正常接收,就是照片数据接收不上来,查了一天的google加百度无果,只能在这里问问,分不多,但还是请大家积极帮忙!
帖子内空太长了,我只能截成两半

环境:C++Builder6+XP+Indy9.00.10

接收程序:

void __fastcall TFrmMain::HttpServerCommandGet(TIdPeerThread *AThread,
  TIdHTTPRequestInfo *ARequestInfo, TIdHTTPResponseInfo *AResponseInfo)
{
TIdHTTPRequestInfo * req = ARequestInfo;
TIdHTTPResponseInfo * res = AResponseInfo;

  if(req->Command == "GET") //这个GET的没问题,能接收,也能返回
  {
  res->ContentType = "text/plain";
  res->Date = Now();
  res->WriteHeader();

  if(req->Document == "/getrequest")
  {
  res->ContentText = "OK\r\n";
  res->WriteContent();
  }  
  else
  {
  res->ContentText = "ERROR\r\n";
  res->WriteContent();
  }  
  }
  else if(req->Command == "POST") //照片数据接收不到
  {
  Memo1->Lines->Add(req->UnparsedParams); //得到下面数据的:PIN=20120819133403-1.jpgSN=2528582230076size=2109CMD=uploadphoto
  Memo1->Lines->Add(req->Params->Text);  

  res->ContentText = "OK\r\n";
  res->WriteContent();
  }
}


问题:
1.这照片数据用哪个属性获取:req->PostStream req->UnparsedParams req->Params->Text 这些都不对
2.AThread->Synchronize()这个是不是可以开启一个线程,让程序在线程里运行?还是IdHTTPServer本身就是用线程接收数据的?

[解决办法]
把二进制数据用Base64编码一下
[解决办法]
req->PostStream req->UnparsedParams req->Params->Text
得到的这3个分别是什么值

热点排行