以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- ftp.Download批量下载时的BUG? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131102) |
-- 作者:jnletao -- 发布时间:2019/2/16 15:55:00 -- ftp.Download批量下载时的BUG? 写了一个FTP批量更新函数,发现只要 ftp.Download(sourceFile, destinationFile,
ShowUI)最后一个参数设为false,就只能下载一个文件,而且很慢!而设为ture,弹出进度条方式,就下载很快,并可以批量持续,请问是什么原因? 如何解决? 以下内容为程序代码: 1 Dim ftp As New FTPClient 2 ftp.host = vars("FTP_ip地址") 3 ftp.Account = vars("FTP_账号") 4 ftp.password = vars("FTP_密码") 5 ftp.Port = vars("FTP_端口") 6 7 Functions.AsyncExecute("文件刷新","",ftp) 以下内容为程序代码: 1 Dim dls As List(of String) 2 \'ftp 以变量2方式代入,避免重复连接 3 \'Dim ftp As New FTPClient 4 \'ftp.host = vars("FTP_ip地址") 5 \'ftp.Account = vars("FTP_账号") 6 \'ftp.password = vars("FTP_密码") 7 \'ftp.Port = vars("FTP_端口") 8 dls = args(1).GetDetailList(args(0)) 9 Dim locfile As String 10 Dim ftpfile As String 11 Dim locpath As String = ProjectPath & "RemoteFiles\\" 12 For Each dl As String In dls 13 If dl.Split("*")(2) = "D" Then 14 \'Output.Show(args(0) & "/" & dl.Split("*")(0)) 15 Functions.Execute("文件刷新", args(0) & "/" & dl.Split("*")(0),args(1)) 16 Else 17 \'Output.Show(dl) 18 locfile = locpath & args(0) & "\\" & dl.Split("*")(0) 19 locfile = locfile.Replace("/","\\") 20 locfile = locfile.Replace("\\\\","\\") 21 ftpfile = args(0) & "/" & dl.Split("*")(0) 22 If FileSys.FileExists(locfile) = False Then 23 \'Output.Show(locfile) 24 \' Output.Show(ftpfile) 25 args(1).Download(ftpfile,locfile,True) 26 Else 27 Dim info As new FileInfo(locfile) 28 Dim ftpdate As Date = dl.Split("*")(1) 29 If info.LastWriteTime < ftpdate Then \'如果ftp上的文件更新则下载 30 \'Output.Show(ftpfile) 31 args(1).Download(ftpfile,locfile,True) 32 End If 33 End If 34 End If 35 \'Output.Show() 36 Next |
-- 作者:有点蓝 -- 发布时间:2019/2/16 17:43:00 -- 我测试没有问题。 另外请不要使用插入代码的方式上传代码,别人没法测试使用
|