VB向服务器上传文件,在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 = Inet1.StillExecuting
Do While right1
right1 = Inet1.StillExecuting
DoEvents
在VB中实现文件上传.doc
下载Word文档到电脑,方便收藏和打印[全文共1235字]
编辑推荐:
下载Word文档
VB向服务器上传文件,在VB中实现文件上传相关推荐
- MySQL在脚本中执行传参数_ZZW_shell脚本中的调用MYSQL传参及注意的问题
[oracle@ip9140 db_pcc]$ cat zzw_cc.sh #!/bin/bash z_user='pcc_csuser22' z_pass='pcc_csuser22' z_db=' ...
- php获取目录文件 排序输出,php实现对文件夹目录中的文件进行排序的方法
php实现对文件夹目录中的文件按照时间.名称.大小进行排序的方法 函数介绍: opendir() 函数打开目录句柄. readdir() 函数返回目录中下一个文件的文件名. array_multiso ...
- java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?
上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...
- python上传大文件s3_使用Python boto3上传Windows EC2实例中的文件至S3存储桶中
一.创建终端节点 为什么要创建终端节点,把VPC和S3管理起来呢?如果不将VPC和S3通过终端节点管理起来,那么VPC中EC2实例访问S3存储桶是通过公共网络的:一旦关联起来,那么VPC中EC2实例访 ...
- 怎么恢复服务器电脑删除的文件,windows系统中u盘上被删除的文件怎么恢复?_网站服务器运行维护,windows,u盘,删除,恢复...
win10装cad提示权限不够怎么办?_网站服务器运行维护 解决方法:跳过管理员权限来进行安装.步骤:1.在经常要使用的程序上右键单击,选择"兼容性疑难解答":2.点击" ...
- 服务器上的垃圾器文件恢复,联想电脑中的文件误删如何恢复?
现如今,家家户户都有配备电脑,当然,家中的电脑大部分时间是用于娱乐的,用于消遣的,但是在适当的时候,在有需要的时候,家中的电脑还是会用于办公的,不过对于很多朋友来说,公私分明,始终不太适合,于是在使用 ...
- linux 显示目录文件数,如何在Linux系统上显示当前及子目录中的文件数量
在本指南中,我们将介绍如何在 Linux 系统上显示当前工作目录或任何目录及其子目录中的文件数量. 我们将使用 find 命令,它用于搜索目录层次结构中的文件,以及 wc 命令,它会打印每个文件或来自 ...
- Java pdf文件传输_java中pdf文件的管理(pdf文件转png文件,base64传输文件以及删除)...
org.apache.pdfbox pdfbox 2.0.12 影像文件转为base64编码使用java自带的BASE64Encoder类 代码部分: 前端上传文件的保存: @RequestMappi ...
- 计算机硬盘无法查找文件,硬盘系统中的文件搜索技巧整理
硬盘系统中的文件搜索技巧整理 发布时间:2014-03-04 09:07:58 作者:佚名 我要评论 电脑已成为一个知识库,许多文件都可以从里面找到,当我们要寻找以前看过的某个文件时,如果记不 ...
- php启动 大量sess文件,关于PHP中Session文件过多的有关问题
关于PHP中Session文件过多的问题 PHP的默认机制:每一次php请求,会有1/100的概率(默认值)触发"session回收".如果"session回收" ...
最新文章
- NC19814最短路 LCA+bfs暴力
- 苹果隐藏app_iOS 14的隐藏功能盘点:不知道等于白更新!
- CTO丢给我中台总结:阿里的“数据+业务”双中台架构
- Kinect开发学习笔记之(三)Kinect开发环境配置
- Bolt XML和JQBolt Lua代码自动补全插件配置教程
- oracle 截取字符(substr),检索字符位置(instr)
- hive explode函数入门及其与lateral view的结合
- jQuery调用WebService ( 同源调用)
- ASP.NET的七个内置对象
- python基本执行方式_Python开发的3种命令执行方法
- mysql_提示 Lock wait timeout exceeded解决办法
- R Markdown 简介
- FireReport 层次坐标 使用问题A1[A1:-1]=A1
- .net mvc身份证验证
- 汽车称重软件系统配置(一)
- 实现微信小程序授权获取手机号登录(c#后端代码附上 少爷接收)
- 计算机科学二审需要多久,寒冬展风采,文体两开花——记计算机科学学院迎新晚会节目二审暨素美部“计体两开花”品牌活动...
- 网络抖动多少ms算正常_如何测试延时、抖动、丢包率
- 三角形外接球万能公式_外接球半径常见的求法
- 想剑网三妹子最多服务器,女生入坑《剑网3》,首选门派是蓬莱,但千万不要碰五毒...
热门文章
- viper4android还用酷狗,viper4windows_viper4android_viper4蝰蛇音效
- 操作分布式文件之一:如何搭建配置FttpAdapter环境
- 测试用例模板及测试报告分析
- 我的世界java版如何加披风_我的世界正版披风怎么换
- 微信小程序 — 生成二维码功能
- 元胞自动机模型01——认识元细胞机模型
- python 人脸对比--百度API人脸相似度识别(超简单)
- 几款对于学习前端比较好用的软件或网址
- SPSS 特征筛选、主成分回归
- DSP 程序远程升级 / Bootloader设计指南(六)—— 9大关键点