在VB中实现文件上传资料.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
☆在VB中实现文件上传 ? ? ? ? ? ? Visual ? Basic ? 作为一个集应用程序开发、测试、查错功能于一 ? 体的集成式开发环境,越来越受到程序员的青睐。笔者在开发某数据 ? 库维护系统的过程中,选择了VB5.0作为开发平台,Unix作为服务器端 ? 操作系统,Informix ? 作为服务器数据库。 ? ? ?   问题的出现 ? ? ?   在开发该维护系统的过程中,注意到Informix ? 数据库的字段 ? 类型CLOB ? 填入数据时需要函数FILETOCLOB(FILENAME,SERVER) ? , ? 其中的FILENAME需要指出文件路径和文件名称。然而,在维护过程 ? 中此文件是在客户端执行的,这样就要求即时将文件传输到服务器端 ? 。 ? ? ?   解决办法 ? ? ?   1. ? FTP传输工具 ? ? ?   我们首先使用FTP传输工具,用VB5.0中SHELL ? 命令调用DOS批处理 ? 文件来实现传输的需要。 ? ? ?   Shell调用格式: ? ? ?   Shell(pathname[,windowstyle]) ? ? ?   例子:Shell(c:\windows\upload.bat) ? ? ?   批处理文件upload.bat ? 的内容: ? ? ?   c:\windows\ftp ? hostname ? ? ?   username ? ? ?   password ? ? ?   send ? c:\zrh\upload.txt ? upload.txt ? ? ?   bye ? ? ?   该命令实现了文件upload.txt的传输要求。在使用完毕之后, ? 再调用命令把该文件删除。 ? ? ?   例子:Shell(c:\windows\del_up.bat) ? ? ?   批处理文件del_up.bat ? 的内容: ? ? ?   c:\windows\ftp ? hostname ? ? ?   username ? ? ?   password ? ? ?   dele ? upload.txt ? ? ?   bye ? ? ?   这样,文件upload.txt被删除。 ? ? ?   但是,另一个问题出现了。由于Shell ? 函数的运行机制是与其它 ? 程序同步执行,也就是说,当调用Shell ? 函数的子程序还没有执行完毕 ? 之前,Shell函数后面的语句已经执行。在大批量添加数据的过程中, ? 就会出现某个记录的文件还没有传到,而下一个插入语句(I ? nsert)已 ? 经开始调用。这样,ODBC调用就会出现错误。 ? ? ?   2. ? INET ? 控件 ? ? ?   Internet ? Transfer控件提供了Internet ? 上最常使用的两种协议 ? :HTTP ? 和FTP。使用HTTP ? 协议可以连接到WWW服务器上来下载文件;使 ? 用FTP协议则可以登录到FTP ? 服务器。一般的FTP命令,例如CD、GET ? 都可以通过Execute ? 方法实现。 ? ? ?   下面是一个设置INET控件属性的例子。 ? ? ?   inet1.URL=ftp://username:password@hostname/document ? ? ?   inet1.Protocol=2-icFTP ? ? ?   inet1.RemoteHost=hostname ? ? ?   inet1.RemotePort=21 ? ? ?   inet1.Username=username ? ? ?   inet1. ? Password=password ? ? ?   执行文件传输: ? ? ?   Inet1.Execute ? ftp://username:password@hostname, ? _ ? ? ?   PUT ? local_filename ? ? ? UPLOAD1.TXT ? ? ?   right1 ? = ? Inet1.StillExecuting ? ? ?   Do ? While ? right1 ? ? ?     ? right1 ? = ? Inet1.StillExecuting ? ? ?     ? DoEvents ? ? ?   Loop ? ? ?   这样便实现了文件的上载。 ? ? ?   *SINET ? 控件的优点 ? ? ?   INET控件与Shell()函数的不同之处在于INET控件通过调用语句 ? ? ?   right1 ?

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档