- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 ?
您可能关注的文档
- 第6讲 细胞的自主特化:形态发生决定子.ppt
- 雅思词汇分类之计算机编程词汇(附件).docx
- 网络存储备份技术教材.ppt
- 桩基础作业(附答案)课件.doc
- 注册会计师事务所文化建设分析解析.doc
- 专利电子申请CPC客户端操作常见问题解析.doc
- 第三章 电大期末考试《计算机网络》模拟题.doc
- 专业术语目录课件.doc
- 第九章 编译原理2006期末考试试卷A答案.doc
- 注码符号标注位置刍议解析.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)