社区
网络编程
帖子详情
请教:关于FTP下载进度的问题
ribut9225
2006-12-22 06:31:26
偶写了一个FTP客户端程序
想要在程序里实现进度条显示FTP文件下载的进度
请各位指点一下,应如何做?
偶是通过CInternetSession和CFtpConnection来连接FTP服务器的
不知道如何下载及显示下载进度
请各位出手指点一下
谢谢先
...全文
339
8
打赏
收藏
请教:关于FTP下载进度的问题
偶写了一个FTP客户端程序 想要在程序里实现进度条显示FTP文件下载的进度 请各位指点一下,应如何做? 偶是通过CInternetSession和CFtpConnection来连接FTP服务器的 不知道如何下载及显示下载进度 请各位出手指点一下 谢谢先
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ribut9225
2007-01-01
打赏
举报
回复
谢谢各位
搞定
结贴
oyljerry
2006-12-27
打赏
举报
回复
根据总的大小,自己计算,大致精确就可以了
ppzine
2006-12-27
打赏
举报
回复
可以这样做,首先得到文件大小,把你每次下载的数据长度都加起来,做一个定时器每隔一段时间就与文件长计算一下除法,一般10秒一次就行,我看bt,emule都是这样算的
ribut9225
2006-12-27
打赏
举报
回复
顶起来
oicqhf
2006-12-27
打赏
举报
回复
用CFtpConnection类里面的OpenFile和CInternetFile类里面的Write可以自己控制每次写入的大小,从而设置进度条,这种方法绝对可以,下面是部分代码,如果有不明白的可以邮箱问我oicqhf@tom.com
CInternetSession* pSession;
CFtpConnection* pConnect;
CInternetFile* pFile;
pSession = new CInternetSession(AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);
pConnect = NULL;
pFile = NULL;
try{
pConnect = pSession->GetFtpConnection(m_szFTPServer,m_szFTPUser,m_szFTPPass,m_nPort);
}catch (CInternetException* e) {
m_nErrorCode = e->m_dwError;
m_szError.Format("Connect Ftp server failed,the error code is:%d",m_nErrorCode);
AfxMessageBox(m_szError);
e->Delete();
pConnect = NULL;
return;
}
CFile file;
if (!file.Open(m_szLocalFile,CFile::modeRead))
{
m_szError.Format("Open % file failed!",m_szLocalFile);
AfxMessageBox(m_szError);
bSuccess = FALSE;
break;
}
DWORD nLength = file.GetLength();
BYTE* pBuf = new BYTE[nLength + 1];
file.ReadHuge(pBuf,nLength);
file.Close();
pBuf[nLength] = 0;
int nPart = 0;
nPart = nLength/1024 + 1;
m_Progress.SetRange(0,nPart);
m_Progress.SetPos(-1);
UpdateData(FALSE);
pFile = pConnect->OpenFile(m_szServerFile,GENERIC_WRITE);
for (int j = 0;j < nPart;j++)
{
BYTE* pTemp = pBuf + j*1024;
try{
pFile->Write(pTemp,1024);
}catch (CInternetException* e) {
m_nErrorCode = e->m_dwError;
m_szError.Format("Upload %s file failed!The error code is %d!",m_szLocalFile,m_nErrorCode);
AfxMessageBox(m_szError);
bSuccess = FALSE;
break;
}
m_Progress.SetPos(j+1);
m_nPos += 1;
m_allProgress.SetPos(m_nPos);
}
pFile->Close();
delete pBuf;
ribut9225
2006-12-26
打赏
举报
回复
请教一个算法
偶下载的文件有的只有几K,有的是500M
如果让进度条按下载进度操作??
能不能指点一下算法?
谢谢先
LiChenYue
2006-12-24
打赏
举报
回复
只要知道了自己下载了多少,不就好办了吗?没做过,不过觉得实现起来不难。
InTheLongRun
2006-12-22
打赏
举报
回复
RTRTRTR
asp.net知识库
.NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎...
数据库课程设计实训大纲[1].doc
独立按时完成作业,如有不懂的
问题
可向知道老师及同学
请教
,不得抄袭别人作业。 4. 实训过程中严格要求自己,高质量完成试验要求的同时,利用网络搜集资料,拓展应用 自己所学知识,提高自己解决实际
问题
的能力。 ...
ftp
上传文件显示
进度
条php,
ftp
上传文件 用
进度
条progressBar显示
进度
()
当前位置:我的异常网» C#»
ftp
上传文件 用
进度
条progressBar显示
进度
()
ftp
上传文件 用
进度
条progressBar显示
进度
()www.myexceptions.net网友分享于:2013-03-30浏览:513次
ftp
上传文件 用
进度
条progressBar显示
进度
...
php函数
ftp
,关于php
FTP
()函数的10篇文章推荐
这篇文章主要介绍了php中
FTP
函数
ftp
_connect、
ftp
_login与
ftp
_chmod用法,详细讲述了PHP的
FTP
操作技巧,并以实例形式对
ftp
_connect、
ftp
_login与
ftp
_chmod的用法进本文实例讲述了php中
FTP
函数
ftp
_connect、
ftp
_login与...
APPLET实现大文件
FTP
上传
由于要实现大文件
FTP
上传
下载
,从网上搜索了几下,找到很多资料,最后决定采用基于org.apache.commons.net.
ftp
包实现
FTP
上传
下载
, Net包中的类既提供对协议的底层访问也有高层的抽象。在大多数情况下,抽象是足够...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章