首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

在http服务器上载文件

2014-07-18 
在http服务器下载文件CInternetSession isSession;//CString strDownloadURL = GetURLOfConfig();CString

在http服务器下载文件

CInternetSession isSession;
//CString strDownloadURL = GetURLOfConfig();
CString strDownloadURL = _T("http://192.168.18.140/temp/VersionInfo.txt");
CHttpFile *pHttpFile = (CHttpFile *)isSession.OpenURL(strDownloadURL);


ULONGLONG ullLen = pHttpFile->GetLength();

BYTE *pBuf = new BYTE[ullLen];
if (!pBuf)
{
return false;
}

DWORD dwWriten;
pHttpFile->Read(pBuf, ullLen);

//当把test.zip改成test.txt完全OK, 但是test.zip就不行,test.zip文件打不开
HANDLE hFile = ::CreateFile(_T("test.zip"), GENERIC_READ | GENERIC_WRITE, 0, NULL,  CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);  
if (hFile == INVALID_HANDLE_VALUE)
{
return false;
}
DWORD dwError = GetLastError();

::WriteFile(hFile, pBuf, ullLen, &dwWriten, NULL);

CloseHandle(hFile);
isSession.Close();
pHttpFile->Close();

如果从http服务器下载.zip文件会出现,这里得到的文件大小与事实不同;
不知什么原因,希望大家帮个忙
[解决办法]
要循环Read,还有LastError的值是多少?
[解决办法]
就是循环Read的问题,没做过通信是这样的。

一次收不完的,顶1楼

热点排行