CHttpFile,如何在下载前获得下载文件的长度?最好能有详细一点的代码,谢谢。

解决方案 »

  1.   

    bQuery   =   ::HttpQueryInfo(hHttpFile,   
      HTTP_QUERY_CONTENT_LENGTH,   
      chQueryBuf,   
      &dwQueryBufLen,   
      NULL);
      

  2.   

    用这个方法一般是可以得到长度,但上目前大多数网站在http信息头里不返回长度,即使时返回也都是0,所以你不用管它,只管读取数据就行了,如下代码: char buffer[2049];
    memset(buffer, 0, 2049);
    int nReadCount = 0;
    while((nReadCount = pFile->Read(buffer, 2048)) > 0)
    {
    strContent += buffer;
    memset(buffer, 0, 2049);
    }