以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  本地文件新建或修改后,如何自动上传到ftp指定目录下  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117525)

--  作者:ZJZK2018
--  发布时间:2018/4/13 23:26:00
--  本地文件新建或修改后,如何自动上传到ftp指定目录下
老师你好:
需求:1、本地文件新建或修改后,如何自动上传到ftp指定目录下,下面这段代码只对新建文件自动上传有效,但修改后的自动上传无效,如何调整下面代码??
2、这段代码最好写在哪里??谢谢!!

Dim ftp1 As New FtpClient

Dim ftls As List(Of String)

ftp1.Host="116.62."

ftp1.Account = "zkftp"

ftp1.Password = "zjzk123++"

ftls = ftp1.GetFileList("\\JLZL2018\\BB\\"\'FTP服务器指定目录下的全部文件名

For Each fl As String In FileSys.GetFiles("D:\\AA\\"\'遍历本地指定目录下的全部文件名

   If ftp1.FileExists("\\JLZL2018\\BB\\" & FileSys.GetName(fl)) = False Then   \'判断FTP服务器指定目录下指定的文件是否存在,GetName:返回文件名称,不含路径

         ftp1.Upload("D:\\AA\\" & FileSys.GetName(fl),"\\JLZL2018\\BB\\" & FileSys.GetName(fl))

    End If

Next

[此贴子已经被作者于2018/11/15 23:06:20编辑过]

--  作者:有点蓝
--  发布时间:2018/4/14 8:59:00
--  

Dim ftp1 As New FtpClient

Dim ftls As List(Of String)

ftp1.Host="116.62.39.101"

ftp1.Account = "zkftp"

ftp1.Password = "zjzk123++"

ftls = ftp1.GetFileList("\\JLZL2018\\BB\\")  \'FTP服务器指定目录下的全部文件名

For Each fl As String In FileSys.GetFiles("D:\\AA\\")  \'遍历本地指定目录下的全部文件名

  ftp1.Upload("D:\\AA\\" & FileSys.GetName(fl),"\\JLZL2018\\BB\\" & FileSys.GetName(fl))

Next


--  作者:ZJZK2018
--  发布时间:2018/4/14 14:51:00
--  
有点蓝老师:
2楼代码取消了:【If ftp1.FileExists("\\JLZL2018\\BB\\" & FileSys.GetName(fl)) = False Then   \'判断FTP服务器指定目录下指定的文件是否存在,GetName:返回文件名称,不含路径】
感觉到每执行一次代码,都要把整个文件夹的所有文件都上传一遍,这样是否太浪费资源了

有没有办法只对“新建或修改后”的文件进行上传??
谢谢!

--  作者:有点蓝
--  发布时间:2018/4/14 15:14:00
--  

Dim ftp1 As New FtpClient

Dim ftls As List(Of String)

ftp1.Host="116.62.39.101"

ftp1.Account = "zkftp"

ftp1.Password = "zjzk123++"

ftls = ftp1.GetFileList("\\JLZL2018\\BB\\")  \'FTP服务器指定目录下的全部文件名

For Each fl As String In FileSys.GetFiles("D:\\AA\\")  \'遍历本地指定目录下的全部文件名

   If ftp1.FileExists("\\JLZL2018\\BB\\" & FileSys.GetName(fl)) = False Then   \'判断FTP服务器指定目录下指定的文件是否存在,GetName:返回文件名称,不含路径

         ftp1.Upload("D:\\AA\\" & FileSys.GetName(fl),"\\JLZL2018\\BB\\" & FileSys.GetName(fl))

else

按下面方法比较本地文件和ftp文件的时间

    End If

Next


ftp文件日期

GetFileTime

返回ftp上指定文件最后一次修改的日期时间。

Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
Dim 
sz As Date
sz = ftp1.GetFileTime(
"\\photo\\jz.png")
Output.Show(
"修改时间:" & sz)G


本地文件日期:http://www.foxtable.com/webhelp/scr/2707.htm