CString strSentence, strWriteName=L"1256719104180572.jpg";
CString strFileName=L"http://bbs.sjtu.edu.cn/file/PPPerson/" + strWriteName;
CInternetSession sess;
CHttpFile* fileGet;
try
{
fileGet=(CHttpFile*)sess.OpenURL(strFileName,NULL,INTERNET_FLAG_TRANSFER_BINARY);
}
catch(CException* e)
{
fileGet = 0;
throw;
}
if(fileGet)
{
DWORD dwStatus;
DWORD dwBuffLen = sizeof(dwStatus);
BOOL bSuccess = fileGet->QueryInfo(HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, &dwStatus, &dwBuffLen);
DWORD nLengthaa = 0;
DWORD nLengthaaLength = sizeof(nLengthaa);
fileGet->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, &nLengthaa, &nLengthaaLength);
if( bSuccess && dwStatus>= 200&& dwStatus<300 )
{
DWORD nLength = fileGet->GetLength();
//CStdioFile fileWrite;
CFile fileWrite;
if(fileWrite.Open(strWriteName, CFile::modeWrite|CFile::modeCreate))
{
BYTE* pData = new BYTE[nLength];
fileGet->Read(pData,nLength);
fileWrite.Write(pData,nLength);
//while(fileGet->Read(&pData,1))
//{
// //fileWrite.WriteString(strSentence+L"/n");
// fileWrite.Write(&pData,1);
//}
fileWrite.Close();
AfxMessageBox(L"下载完毕");
delete [] pData;
}
else
{
AfxMessageBox(L"本地文件"+strWriteName+L"打开出错.");
}
}
else
{
strSentence.Format(L"打开网页文件出错,错误码:%d", dwStatus);
AfxMessageBox(strSentence);
}
fileGet->Close();
delete fileGet;
}
else
AfxMessageBox(L"不能找到网页文件!");
sess.Close();
经过测试是可以使用的。