您的位置:首页 > 其它

一段下载文件的程序

2007-03-09 23:56 183 查看
#include <afxinet.h> // 需要包含此头文件

CString strRemote = _T("http://www.xxx.com/xxx.jpg"); // 文件地址
CString strLocal = _T("c://xxx.jpg"); // 保存路径

TRY
{
// 以二进制形式下载
CInternetSession is ;
DWORD dwFlag = INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_DONT_CACHE | INTERNET_FLAG_RELOAD;
CHttpFile* phf = (CHttpFile*)is.OpenURL(strRemote, 1, dwFlag);
if (!pF)
{
AfxThrowInternetException(1);
}

// 分配缓冲区
char szBuffer[1024];

// 如果文件已存在,则首先删除之
CFile::Remove(strLocal);

// 每次下载1KB
CFile file;
while (TRUE)
{
int n = phf->Read(szBuffer, sizeof(szBuffer));
if (n <= 0)
break ;

file.Open(strLocal, CFile::modeWrite|CFile::typeBinary, NULL);
file.SeekToEnd();
file.Write(szBuffer, n);
file.Close();
}

delete phf ;
}
CATCH_ALL(e)
{
return FALSE;
}
END_CATCH_ALL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐