文件通过http的post方法上传到服务器?
现在我写了一个notes登记的表单?在登记表单中有“标题”、“正文”域,和一个附件上传控件。
我用vc++中的winiet类编写http自动访问这个表单,让它自动提交。
现在“标题”、“正文”域的数据能够提交到服务器中,可文件总是提交不成功?
//-----------------------------//
CString line,ls_url;
CInternetSession lc_isession;
CHttpConnection *pcon = lc_isession.GetHttpConnection("192.168.0.27",80,"admin","password");
ls_url = "/oa/test.nsf/DataInput?OpenForm&dummy=XXBA-5PDA2G";
CString FormDataType = _T("Content-Type: application/x-www-form-urlencoded");
//标题域的数据
CString FormData = _T("Share_Title=test");
//上传文件的数据
FormData +=_T("&%%File9239e669cd235be148256d55000e2a0a.$Body.0.750C;filename=\"f:\test.txt\"..Content-Type: text/plain=sss");
//提交
FormData+=_T("&__Click=0");
CHttpFile *http = pcon->OpenRequest ("POST",ls_url);
http->SendRequest( FormDataType, (LPVOID)(LPCTSTR)FormData, FormData.GetLength() );
DWORD dwRet;
dwRet=100;
http->QueryInfoStatusCode(dwRet);
CString dd;
dd.Format("%d",dwRet);
AfxMessageBox(dd);
http->Close();
lc_isession.Close( );
//-----------------------------------//
在上面程序把FormData +=_T("&%%File9239e669cd235be148256d55000e2a0a.$Body.0.750C;filename=\"f:\test.txt\"..Content-Type: text/plain=sss");
这段代码去掉,标题域的数据能过提交成功。
现在困难的是文件的数据怎么组织?//
望各位能讨论一下: