hOpen = InternetOpen ("TEST_HTTP", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
if ( !hOpen )
{
AfxMessageBox("Failed to open WinInet");
return;
} hConnect = InternetConnect (hOpen, "127.0.0.1", INTERNET_DEFAULT_HTTP_PORT , NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
if ( !hConnect )
{
sInfo.Format("InternetConnect failed: %lu", GetLastError ());
AfxMessageBox(sInfo);
return;
} // Open an HTTP request handle... 
hGETRequest = HttpOpenRequest (hConnect, "PUT", NULL, NULL, m_sURL, NULL, dwFlags, 0);
if ( !hGETRequest )
{
sInfo.Format("HttpOpenRequest failed: %lu", GetLastError ());
AfxMessageBox(sInfo);
InternetCloseHandle (hConnect);
return;
} // send the request...
CFile file("C:\\test.jpg",CFile::modeRead);

rv = HttpSendRequestEx(hGETRequest,NULL,NULL,dwFlags,NULL);
char szBuffer[5*1024];
DWORD dwNumberOfBytesRead = file.Read(szBuffer,sizeof(szBuffer));
DWORD dwTotal = 0;
rv = InternetWriteFile(hGETRequest,szBuffer,dwNumberOfBytesRead,&dwTotal);
if (rv) 
{
MessageBox("OK!");
}我想把每个test.jpg文件写到HTTP服务器的某个文件夹中,怎么做啊?
以上各步都是成功的,就是没有文件,唉!

解决方案 »

  1.   

    我用的是socket api 实现的
      

  2.   

    跟是不是用socket api实现关系不大。
      

  3.   

    你还需要学很多东西。往http服务器上传文件,不是只在客户端写个程序就行了,还需要有一个支持文件上传的页面。假设这个页面已经有了,文件名为xxx.asp,那么在调用HttpOpenRequest时,应该有这个页面的路径,如:
       HttpOpenRequest (hConnect, "PUT", "xxx.asp", ...........