一段下载文件的程序
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
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
相关文章推荐
- 一段下载文件的程序
- 3种下载文件程序的思考,为何使用NIO进行异步网络通讯
- php实现文件下载的一段代码
- 试图搞懂MDK程序下载到Flash(四)--生成bin文件下载到Nor Flash
- 一段用ASP查看ASP文件源码的程序.
- asp.net 下载程序文件
- 从ftp服务器上下载文件树到本地电脑的php程序
- 提示缺少“S2CSplash.DLL"的解决方法,下载此文件放到才程序目录即可
- OpenShift Redhat免费空间SSH登录管理和使用:下载文件安装程序和应用
- 通过java程序实现scp上传和下载文件
- 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- 教你用电脑从 Google Play 下载 Android 程序 apk 文件
- 简单的下载Execl文件程序
- jSP程序页面中下载打开Word,Excel,powerpoint文件乱码的问题
- python 从远程服务器下载日志文件的程序
- windows2008下配置iis时出现错误“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。”
- HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- BizTalk 2006 简单入门示例程序(附源项目文件下载)
- js页面(页面上无服务端控件,且页面不刷新)实现请求一般处理程序下载文件方法
- 从网络上下载的Linux单文件程序,无法运行,用File查看出现 ELF 64-bit LSB executable