以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  复制文件  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=180066)

--  作者:huhu
--  发布时间:2022/9/26 16:51:00
--  复制文件
帮助文件里面的rename说明:写这段帮助的时候,我意外发现Rename还可以移动文件。
例如将文件"jz.png"从photo目录移到到newkey目录:
Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
If
ftp1.Rename("\\photo\\jz.png","\\newkey\\jz.png") Then
   
Messagebox.show("移动文件成功!")
End If

是否有可以直接在ftp服务器上复制文件。
比如原目录\\需求文档\\20220926下面有3个文件。我点击按钮,自动创建需求文档\\20220927,然后把之前目录的3个文件自动复制到这个新建的文件夹里面。

--  作者:有点蓝
--  发布时间:2022/9/26 16:55:00
--  
只能先使用MakeDir创建目录,然后下载原目录的文件,再上传到新目录
--  作者:huhu
--  发布时间:2022/9/26 17:17:00
--  
先下载,再上传。感觉不方便且耗时。就不能直接ftp上复制过去么


--  作者:有点蓝
--  发布时间:2022/9/26 17:23:00
--  
ftp没有这种功能。或者考虑使用openqq,web服务等提供服务端操作
--  作者:huhu
--  发布时间:2022/9/26 19:41:00
--  
下载
fls = ftp.GetdetailList("\\需求文档\\" & r("需求编号"))   
    For Each fl As String In fls
        
        If ftp.Download( fl, ProjectPath & "\\RemoteFiles\\"  &  r("需求编号") & “\\”  & fl) = True Then
            msgbox(0)
        End If 
        
    Next

提示路径中具有非法字符。这个路径也不会调试。

--  作者:有点蓝
--  发布时间:2022/9/26 20:21:00
--  
解析出正确的文件名:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=180059&authorid=0&page=0&star=2

注意要排除掉文件夹

--  作者:huhu
--  发布时间:2022/9/26 20:44:00
--  
ftp.MakeDir("\\需求文档\\" & d("需求编号"))
    
    fls = ftp.GetdetailList("\\需求文档\\" & r("需求编号"))   
    For Each fl As String In fls
        msgbox(fl)----执行正确
        Dim idx() As String = fl.split("*")
        If idx(2) = "D" Then Continue For 
        fl = idx(0)
        msgbox(fl)----执行正确
        If ftp.Download(fl, ProjectPath & "\\RemoteFiles\\" & fl) = True Then
            msgbox(0)----没有弹出0
        End If 
    Next

--  作者:有点蓝
--  发布时间:2022/9/26 20:55:00
--  
If ftp.Download("\\需求文档\\" & r("需求编号") & “\\” & fl, ProjectPath & "\\RemoteFiles\\" & fl) = True Then
--  作者:huhu
--  发布时间:2022/9/26 21:34:00
--  
ftp.MakeDir("\\需求文档\\" & d("需求编号"))
    
    fls = ftp.GetdetailList("\\需求文档\\" & r("需求编号"))   
    For Each fl As String In fls
        Dim idx() As String = fl.split("*")
        If idx(2) = "D" Then Continue For 
        fl = idx(0)
        If ftp.Download("\\需求文档\\" & r("需求编号") & "\\" & fl, ProjectPath & " \\RemoteFiles\\" & r("需求编号") & "\\" & fl) = True Then            
        End If
        If ftp.Upload(ProjectPath & " \\RemoteFiles\\" & r("需求编号") & "\\" & fl, "\\需求文档\\" & r("需求编号") & "\\" & fl) = True Then
            msgbox(fl)----弹出正确,可是ftp目录没有文件,不应该是上传成功了么?
        End If
    Next

--  作者:有点蓝
--  发布时间:2022/9/26 21:54:00
--  
下载和上传的都是同一个目录,有意义吗

        If ftp.Download("\\需求文档\\" & r("需求编号") & "\\" & fl, ProjectPath & " \\RemoteFiles\\" & r("需求编号") & "\\" & fl) = True Then            
        If ftp.Upload(ProjectPath & " \\RemoteFiles\\" & r("需求编号") & "\\" & fl, "\\需求文档\\" & r("需求编号") & "\\" & fl) = True Then
            msgbox(fl)----弹出正确,可是ftp目录没有文件,不应该是上传成功了么?
        End If
End If
    Next