中易网

VB上传文件到FTP空间的代码?

答案:3  悬赏:10  
解决时间 2021-05-12 07:00

在写的个VB程序,

比如:把C盘里面的 1.txt 文件 上传到FTP空间,这段VB的代码怎么写?

最佳答案
用Inet1
先添加microsoft internet transfer control 6.0


Private Sub 上传_Click()
Inet1.URL = IP.Text ' " ftp://61.129.102.38/"
Inet1.Protocol = 2
Inet1.UserName = USER.Text ' "username"
Inet1.Password = ID.Text ' "password"
Inet1.Execute , "PUT " & "c:\1.txt" & " 1.txt"
Do While Inet1.StillExecuting
DoEvents
Loop
MsgBox "上传完毕!", vbInformation, "提示"
End Sub
全部回答

首先,在VB工具栏中添加部件Microsoft Internet Transfer Control 6.0 ,之后工具箱会多一个Inet的控件。

拖放该控件到窗体上,设置控件中的属性

protocol : 2-icFTP RemoteHost : 你的FTP服务IP或域名 RemotePort : 你的FTP端口 URL : 你的FTPURL地址 UserName和Password 这两个就不用说了

当然,也可以在运行时绑定属性。

本例中还需要拖放一个文本筐(txtData)和一个按钮(Command1)

窗体代码部分如下:

Private Sub Command1_Click() Dim isRight As Boolean '定义一个BOOLEAN变量,用于判断是否仍然在执行上传 Dim filestr As String '定义一个字符串变量,用于存储本地文件的路径和文件名,并在后面赋值,当然,正式使用的时候这里是由用户选择文件的路径 filestr = "d:\ctrpatch1229-0829.exe" '调用Inet的execute方法上传文件,第一参数是FTP URL地址,第2个参数是传递参数,字符串型,分为3个部分: 方法+本地文件+上传后文件名 ,FTP上传使用 PUT 命令 Inet1.Execute " ftp://192.168.1.17", "PUT " & filestr & " uploadedfilename.exe" 'put,本地文件路径,上传后的文件名称之间一定要有空格隔开 isRight = Inet1.StillExecuting '获取当前是否仍然在执行命令 '循环检查是否仍然在命令执行,如果仍然还在执行命令,那么将控制权交给系统,这样系统可以分配空闲的处理时间来执行命令 Do While isRight isRight = Inet1.StillExecuting DoEvents Loop End Sub '在调用Inet的Execute方法时会触发该时间,该事件传递一个参数State来返回当前执行状态 '返回的状态值如下: '0 未报告状态icHostResolvingHost '1 控件正在寻找指定主机的IP地址icHostResolved '2 控件已成功找到指定主机的IP地址icConnecting '3 控件正在与指定主机进行连接icConnected '4 控件已成功与指定主机连接icRequesting '5 控件正在向主机发出请求icRequestSent '6 控件已成功向主机发出请求icReceivingResponse '7 控件正在从主机接收反馈信息icResponseReceived '8 控件已成功从主机接受反馈信息icDisconnecting '9 控件正在与主机断开icDisconnected '10 控件已与主机断开icError '11 在与主机通信的过程中发生了错误icResponseComp leted '12 请求结束且数据已经接收到 Private Sub Inet1_StateChanged(ByVal State As Integer) '获取并显示一下当前的执行状态,方便测试 txtData.Text = txtData.Text + CStr(State) '检查当前返回的状态值 Select Case State '如果是12,说明执行完成 Case 12 '以下=号中间的代码我暂时还不知道具体有什么在作用 '============================================== Dim vtData As Variant ' Data variable. Dim strData As String: strData = "" Dim bDone As Boolean: bDone = False ' Get first chunk. vtData = Inet1.GetChunk(1024, icString) Do While Not bDone strData = Data & vtData ' Get next chunk. vtData = Inet1.GetChunk(1024, icString) If Len(vtData) = 0 Then bDone = True End If Loop txtData.Text = strData '=============================================== txtData.Text = "上传完成" End Select End Sub
这个用inet控件比较简单
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么一发送信息窗口就隐藏了
开机显示无信号输入,连键盘鼠标也不能用,是
肺癌晚期临死前症状会不会很痛苦?
广东省佛山市南海平洲平西旧屋值多少钱?
腾跃汽车养护中心在哪里啊,我有事要去这个地
我想买美瞳、那种的比较好?
2010QQbeta3会显示微博?
怎么样才能让一个女孩子喜欢自己?
怎样快速提升语言和文字表达能力
问问里如果无满意答案关闭问题会不会扣分?
怎样才可以对帅哥有免疫能力呀
美术统考成绩是194分,文化成绩290分左右。201
新加坡电视剧{喜临门}中,"拉纳"的扮演者是谁?
安徽桥联网络科技有限公司我想知道这个在什么
淋湿泥沙流淌污浊水。来下句
推荐资讯
顺祥商行在什么地方啊,我要过去处理事情
美馨苑美容养生馆地址在哪,我要去那里办事
我的电脑怎么开启不了任务计划的?
一座桥上立有一牌,牌上写“不准过桥”,但很
qq免费皮肤怎么做
陕西省地方电力(集团)公司乾县供电分公司漠西
女生能玩CSOL吗?
你知道呼呼猫的爱恋吗
体彩3D买什么
电脑磁盘空间不足是什么回事?需要删除哪些?
现在还能开通短信超人吗?
石家庄市正定县新华木器厂我想知道这个在什么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?