Foxtable(狐表)用户栏目专家坐堂 → FTP文件夹下的内容全部下载到本地


  共有1761人关注过本帖树形打印复制链接

主题:FTP文件夹下的内容全部下载到本地

帅哥哟,离线,有人找我吗?
benwong2013
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:4081 威望:0 精华:0 注册:2015/12/16 8:22:00
FTP文件夹下的内容全部下载到本地  发帖心情 Post By:2016/12/21 15:54:00 [只看该作者]

Dim ftp1 As New FtpClient
Dim dls As List(of String) 
ftp1.Host="120.88.88.**"
ftp1.Account = "abc"
ftp1.Password = "****"
dls = ftp1.GetFileList("")
For Each dl As String In dls
   ftp1.Download(dl,"c:\A\",True)
Next

希望点击按钮能将ftp目录下的文件全部下载到c盘A文件夹下,但这样的代码发现下载很慢,基本上不可以用,请问如何修改,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/21 16:00:00 [只看该作者]

 ftpClient的download方法,应该是每次都会去连接一次。

 

 如果要快,你就必须自己弄一个ftpclient了 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=78301&skin=0

 


 回到顶部
帅哥哟,离线,有人找我吗?
benwong2013
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:4081 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/12/21 16:16:00 [只看该作者]

Dim ftpUrl As New Uri("ftp://127.0.0.1/")
Dim ftp As New FTPHelper(ftpUrl, "test", "test")
addhandler ftp.UploadFileCompleted, addressof client_UploadFileCompleted
addhandler ftp.UploadProgressChanged, addressof client_UploadProgressChanged

ftp.UploadFileAsync(projectpath & "test.jpg", "/test.jpg", True)

如果这个代码修改为将FTP目录下所有的文件下载到本地指定盘应该如何修改?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/21 16:52:00 [只看该作者]

 你去看懂全局代码的那个ftphelper类,里面很多方法是可以直接调用的,比如,下载文件,可以这样写代码

 

Dim ftpUrl As New Uri("ftp://127.0.0.1/")
Dim ftp As New FTPHelper(ftpUrl, "test", "test")
ftp.GotoDirectory("test") '进入某目录
For Each obj As object In ftp.ListFiles '列出所有文件
    output.show(obj.name)
    ftp.Downloadfile("test.jpg", "d:\test", "abc.jpg")

    'ftp.Downloadfile("test.jpg", "d:\test")
Next


 回到顶部
帅哥哟,离线,有人找我吗?
benwong2013
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:4081 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/12/21 17:04:00 [只看该作者]

Network.DownloadFile("ftp://120.86.**.**/Attachments.zip","c:\A\Attachments.zip","***","****")
Dim zip As New zipFile
zip.Open("c:\A\Attachments.zip")
zip.ExtractAll("c:\A")
zip.Close()
If FileSys.FileExists("c:\A\Attachments.zip") Then '如果指定的文件存在
    FileSys.DeleteFile("c:\A\Attachments.zip",2,2) '则彻底删除之
End If

最后修改成为这样了

 回到顶部