您的位置:程序门 -> vc/mfc -> 网络编程



怎么实现ftp自动上传功能


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


怎么实现ftp自动上传功能[已结贴,结贴人:vagrant007]
发表于:2007-01-24 11:27:25 楼主
现在在做一个系统集成的项目,时间较紧,对ftp下载和上传不是很熟,现在的问题是我该如何定时自动上传指定文件夹里面的文件到指定的ftp服务器,文件会不停的变化,文件名也不相同,希望大家能帮帮忙,最好能够提供源代码,谢谢了!!
发表于:2007-01-24 11:47:301楼 得分:100
cstring             cserror;
hinternet         hintsession   =   0;  
hinternet         hftpsession   =   0;

bool                   bsuccess   =   false;

hintsession   =   internetopen(null,   internet_open_type_direct,   null,   null,   null);
if   (   null   ==   hintsession   )
{
cserror   =   _t( "无法访问网络! ");
goto   error_exit;
}

hftpsession   =   internetconnect(   hintsession,   m_csftpip,   m_lftport,   m_csftpusr,   m_csftpswd,   internet_service_ftp,   0,   0);
if   (   null   ==   hftpsession   )
{
cserror   =   _t( "无法连接   ftp   服务器! ");
goto   error_exit;
}

if   (   m_csftprdir.isempty()   )     //   远程目录为空,设为根目录
{
m_csftprdir   =   "/ ";
bsuccess   =   ftpsetcurrentdirectory(   hftpsession,   m_csftprdir);
if   (   !bsuccess   )
{
cserror   =   _t( "无法设置当前目录 ");
goto   error_exit;
}
}
else
{
//   分析目录,不存在则创建,暂缺,待补   2007-01-07
bsuccess   =   ftpsetcurrentdirectory(   hftpsession,   m_csftprdir);
if   (   !bsuccess   )
{
cserror   =   _t( "远程目录不存在! ");
goto   error_exit;
}
}

                  ///////////////////////////////
                  可在这里实现上传,用ftpputfile
                  对于你的指定文件夹可进行遍历,调用ftpputfile   上传每一个
                  ///////////////////////////////

internetclosehandle(hftpsession);
internetclosehandle(hintsession);

messagebox(   _t( "连接成功,上传配置正确 "),   _t( "提示 "),   mb_ok   ¦   mb_iconinformation   );
return   ;

error_exit:
if   (   hftpsession   )
{
internetclosehandle(hftpsession);
}

if   (   hintsession   )
{
internetclosehandle(hintsession);
}

messagebox(   cserror,   _t( "提示 "),   mb_ok   ¦   mb_iconinformation   );
return   ;

至于定时处理结合你的项目应该很好实现,不多说了
发表于:2007-01-24 14:10:292楼 得分:0
谢谢了


快速检索

最新资讯
热门点击