我的程序是这样写得,你们看看对不对。
       CInternetSession netSession; 
CStdioFile *fTargetFile;
char strbuf[512];
int bytesread=0;
   
fTargetFile=netSession.OpenURL("XXXXX.jpg",1,INTERNET_FLAG_TRANSFER_BINARY|INTERNET_FLAG_RELOAD);
         CString  szDestPath ="E:\\";
szDestPath+=fTargetFile->GetFileName();
CFile fDestFile(szDestPath,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary);
while(bytesread=fTargetFile->Read(strbuf,1024))
{
      fDestFile.Write(strbuf,bytesread);
}

解决方案 »

  1.   

    直接UrlDownLoadToFile() API,填好对应的jpg URL,就可以下载下来文件
      

  2.   

    //将BUFFER的缓冲区改大点  
    CInternetSession   sess; 
        CString strURL = "http://www.baidu.com/img/baidu_logo.gif";
        CHttpFile*   pFile=(CHttpFile*)sess.OpenURL(strURL,1,INTERNET_FLAG_TRANSFER_BINARY);
        BYTE   *buffer =  new BYTE[10240];      FILE   *file; 
        file = fopen("D:\\baidu_logo.gif ","wb");
        int nRead = 0;
        while(nRead = pFile->Read(buffer, 10240)) 
        { 
            fwrite(buffer,  1, nRead, file); 
            memset(buffer, 0, 10240);    } 
        
       fclose(file); 
       delete buffer;
      

  3.   

    上面的delete buffer改成 delete []buffer;
      

  4.   

    多谢你的回答,我也知道这样可以下载文件,但是我是想知道为什么我那样写下载不了JPG文件。如果你知道为什么这样的话就告诉我吧。