用VB中的控件inet,做一个上传和下载文件在FTP服务器上,其中执行上传代码是:inetFTP.Execute "", "put""D:\test\test1.txt /www/vbtest/test1.txt"这样写成功上传(本地路径:D:\test\ 服务器路径:/www/vbtest/).现在路径是绝对路径.
可是要改成给程序在同一路径下.加入app.path 不知如何实现?试了很多次都上传不成功.
可是要改成给程序在同一路径下.加入app.path 不知如何实现?试了很多次都上传不成功.
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
Dim isbusy As Boolean
inetFTP.URL = "ftp://xxxxx"
inetFTP.Protocol = icFTP
inetFTP.RemotePort = 21
inetFTP.UserName = "xxxxxx"
inetFTP.Password = "******"
inetFTP.Execute "", "put" & App.Path & "/www/vbtest/test1.txt" '此处
isbusy = inetFTP.StillExecuting '等待请求,换上楼上的方法.就一直在这儿循环.
Do While isbusy
isbusy = inetFTP.StillExecuting
DoEvents
Loop
MsgBox "此文件成功上传", vbInformation, "系统信息"
inetFTP.Execute , "close"
有谁遇到这个情况没?谢谢大家了~~!
郁闷之中....!
debug.print app.path & "\text1.txt" '查看一下完整路径是否正确如果上面都没有问题,那问题就出在了inetFTP这个对象上面
打开这个对象,检查execute这个方法是如何执行的!
MsgBox App.Path'
MsgBox App.Path & "\test1.txt"'显示的均为正确的文件路径.
inetFTP.Execute "", "put" & app.path & "\test1.txt /www/vbtest/test1.txt"'执行此句仍然上传不成功
inetFTP这个对象的execute这个方法是如何测试它的执行情况!在程序中我当前只用了inetFTP_StateChanged事件.
其代码如下:
Private Sub inetFTP_StateChanged(ByVal State As Integer)
Select Case State
Case icConnecting
Text1.Text = "正在与主机连接"
Case icConnected
Text1.Text = "已与主机连接成功"
Case icDisconnecting
Text1.Text = "程序也和服务器断开连接"
Case icDisconnected
Text1.Text = "程序也和服务器断开连接"
Case icRequestSent
Text1.Text = "正在传送文件...."
Case icRequesting
Text1.Text = "请求"
Case icReceivingResponse
Text1.Text = "接收响应"
Case icRequestSent
Text1.Text = "正在传送文件....."
Case icResponseReceived
Text1.Text = "收到答复"
Case icResolvingHost
Text1.Text = "解析主机"
Case icHostResolved
Text1.Text = "主机解析"
End Select
inetFTP.URL = "ftp://xxxxxx"
inetFTP.Protocol = icFTP
inetFTP.RemoteHost = "xxxxx"
inetFTP.RemotePort = 21
inetFTP.UserName = "xxxxxxxx"
inetFTP.Password = "******"
inetFTP.Execute inetFTP.URL, "put " & App.Path & "\test1.txt /www/vbtest/test1.txt"
'注:就是在PUT后面要加上一个空格.谢谢各位.马上加分