- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FtpCreateDirectory函数的原型是 BOOL FtpCreateDirectory( IN HINTERNET hFtpSession, // 有效的FTP会话句柄. IN LPCSTR lpszDirectory // 要创建的目录路径. ); FtpRemoveDirectory函数的原型是 BOOL FtpRemoveDirectory( IN HINTERNET hFtpSession, // 有效的FTP会话句柄. IN LPCSTR lpszDirectory // 要删除的目录路径. ); * 4.2.5 下载FTP服务器中的文件 WinInet为客户端应用程序提供了三种从FTP服务器上获取文件的方法。 (1)使用InternetOpenURL和InternetReadFile函数 如果用户确切的知道文件有效的URL,并且应用程序想要更紧密的控制下载的过程,同时在FTP服务器上不需要进行其它的操作,可以使用这种方法。 应用程序直接调用InternetOpenURL函数打开由RUL指定的服务器文件,创建文件句柄,再调用InternetReadFile函数下载文件的内容,这种方法允许应用程序对下载有更强的控制,是通用的下载方法。 (2)使用FtpOpenFile和InternetReadFile函数 如果应用程序已经调用InternetConnect函数创建了一个到服务器的FTP会话句柄,可以首先调用FtpOpenFile函数打开服务器上的现存文件,再调用InternetReadFile来下载文件,并保持与FTP服务器的连接,因此允许执行更多的其他命令。 在如下两种情况应使用这种下载方法: 应用程序需要从服务器获得一个文件,并把文件信息首先装入应用程序控制的内存缓冲区,而不是直接写到磁盘的一个文件中; 应用程序需要对文件的传送过程进行很好的控制,如下载过程中显示进度指示器。 FtpOpenFile函数原型是: HINTERNET FtpOpenFile( IN HINTERNET hFtpSession, // Ftp会话句柄. IN LPCSTR lpszFileName, // 字符串指针,指向要访问的远程文件名 IN DWORD fdwAccess, //对文件做的操作,只读或写 IN DWORD dwFlags, //传送方法与缓存方法. IN DWORD dwContext, //环境值. ); 函数返回HINTERNET句柄,初始化对远地文件的访问,如果成功返回一个句柄,供InternetReadFile或InternetWriteFile使用,如果失败返回NULL。 在使用FtpOpenFile函数打开了FTP服务器上的一个文件,并成功地返回了一个文件句柄之后,应用程序必须使用InternetReadFile函数下载文件的内容。 InternetReadFile函数的原型是: BOOL InternetReadFile( IN HINTERNET hFile, // FtpOpenFile返回的文件句柄. IN LPCVOID lpBuffer, // 接收数据的内存缓冲区指针. IN DWORD dwNumberOfByetesToWrite, //要读的字节数. OUT LPDWORD lpdwNumberOfByetesWriten , //实际读到的字节数. ); 函数成功执行返回TRUE,否则返回FALSE。 如果返回值是TRUE,并且读到的字节数是0,说明传送已经完成,可调用InternetCloseHandle释放连接。 lpBuffer缓冲区应足够大,下载一个服务器文件往往要多次调用InternetReadFile函数,直到把数据都读完。 每次调用时,函数会尽量多读数据,如果网络上的数据尚未到达,函数会等待,直到读够数据。 在一个FTP会话中,仅仅可以打开一个文件,只能同时存在一个文件句柄。 如果在未调用InternetCloseHandle关闭前面的文件句柄时,就继续调用FtpOpenFile,会产生ERROR_FTP_TRANSFER_IN_PROGRESS错误。 (3)使用FtpGetFile函数。 如果应用程序并不需要紧密地控制下载,可以使用FtpGetFile函数,直接指定服务器上的远程文件名和下载后在本地存储的文件名,来获得文件。 函数同样要求已经用InternetConnect建立了到服务器的FTP会话连接。 应用程序可以调用FtpGetFile函数将远程文件存为本地系统中的文件,此函数将文件从远
您可能关注的文档
- 肿瘤标志物测定临床科学应用 .ppt
- 外周血管疾病超声的诊断.ppt
- 肿瘤生物有效治疗.ppt
- 弯沉检测贝克曼梁法 .ppt
- 不良饮食性格致身材的变形.ppt
- 完全信息静态博弈:纳什均衡.ppt
- 人生感悟改变人生.ppt
- 种体质养生调体.ppt
- 多种泳姿动图教学.ppt
- 粥的经典做法.ppt
- 《圆》整单元(教案)-2023-2024学年五年级下册数学苏教版.docx
- 第四单元神州音韵(一)——《乌苏里船歌》教学设计 2023—2024学年人教版初中音乐七年级上册教案1000字.docx
- 3.7《信息的交流传播》(教案)六年级上册科学教科版.docx
- 第四单元 非洲灵感-阿伊亚—非洲的灵感 教学设计 2023—2024学年人音版初中音乐九年级下册 教案1000字.docx
- 22古诗三首《墨梅》(教学设计)2023-2024学年统编版语文四年级下册.docx
- 第4课时 小小商店(教案)-2023-2024学年一年级下册数学苏教版.docx
- 人教版音乐七年级下册第一单元:《春节序曲》-教案-教案教案1000字.docx
- 第6单元《六月——船歌》-山东省枣庄市市中区实验中学八年级音乐下册教案教案1000字.docx
- 第3课 敢为人先的广东精神——认识油漆桶和文字工具(教案)-七年级信息技术上册同步精品课堂(粤高教版2018).docx
- 《四、_确定版面》教学设计教学反思-2024-2025学年初中信息技术人教版七年级上册.docx
文档评论(0)