Foxtable(狐表)用户栏目专家坐堂 → 远程ftp文件根据列的值变化


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

主题:远程ftp文件根据列的值变化

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
远程ftp文件根据列的值变化  发帖心情 Post By:2018/11/19 14:54:00 [只看该作者]

1、在本地文件可以根据列的值变化而作调整,但如何在远程文件根据列的值变化而作调整,因为上传文件较大,每次远程上传太浪费时间,能否直接在阿里去上直接修改?
2、感觉下面代码是否太长了,能否优化一下?

Dim ftp1 As New FtpClient
ftp1.Host="116.62."
ftp1.Account = "z**"
ftp1.Password = "zjz**"
Select Case e.DataCol.Name
    Case "资料类型"
        '=====本地文件=======
        Dim owjpth As String = "D:\图集规范\" & e.OldValue & "\" & dr("工程类型") & "\" & dr("分部工程") & "\" & dr("标准名称")
        Dim nwjpth As String = "D:\图集规范\" & e.NewValue & "\" & dr("工程类型") & "\" & dr("分部工程") & "\" & dr("标准名称")
        If FileSys.FileExists(owjpth) Then
            FileSys.CopyFile(owjpth,nwjpth,True)
            FileSys.DeleteFile(owjpth,2,3)
        End If
        '=====ftp文件=======
        Dim fowjpth As String = "\图集规范\" & e.OldValue & "\" & dr("工程类型") & "\" & dr("分部工程")  & dr("标准名称")
        Dim fnwjpth As String = "\图集规范\" & e.NewValue & "\" & dr("工程类型") & "\" & dr("分部工程")  & dr("标准名称")
        If ftp1.DirExists(fowjpth) = False  Then  '判断指定的目录不存在
            ftp1.MakeDir(fnwjpth)                '在ftp上创建目录
        End If
        If ftp1.FileExists(fowjpth) Then
            ftp1.Rename(fowjpth,fnwjpth)
            'msgbox(1111)
        End If
        
    Case "工程类型"
        Dim owjpth As String = "D:\图集规范\" & dr("资料类型") & "\" & e.OldValue & "\" & dr("分部工程") & "\" & dr("标准名称")
        Dim nwjpth As String = "D:\图集规范\" & dr("资料类型") & "\" & e.NewValue & "\" & dr("分部工程") & "\" & dr("标准名称")
        If FileSys.FileExists(owjpth) Then
            FileSys.CopyFile(owjpth,nwjpth,True)
            FileSys.DeleteFile(owjpth,2,3)
        End If
    Case "分部工程"
        Dim owjpth As String = "D:\图集规范\" & dr("资料类型") & "\" & dr("工程类型") & "\" & e.OldValue & "\" & dr("标准名称")
        Dim nwjpth As String = "D:\图集规范\" & dr("资料类型") & "\" & dr("工程类型") & "\" & e.NewValue & "\" & dr("标准名称")
        If FileSys.FileExists(owjpth) Then
            FileSys.CopyFile(owjpth,nwjpth,True)
            FileSys.DeleteFile(owjpth,2,3)
        End If
    Case "标准名称"
        Dim owjpth As String = "D:\图集规范\" & dr("资料类型") & "\" & dr("工程类型") & "\" & dr("分部工程") & "\" & e.OldValue
        Dim nwjpth As String = "D:\图集规范\" & dr("资料类型") & "\" & dr("工程类型") & "\" & dr("分部工程") & "\" & e.NewValue
        If FileSys.FileExists(owjpth) Then
            FileSys.CopyFile(owjpth,nwjpth,True)
            FileSys.DeleteFile(owjpth,2,3)
        End If
End Select

[此贴子已经被作者于2018/11/19 14:59:10编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/19 15:00:00 [只看该作者]

 

你写的代码没问题,也必须这样做才行,修改一个单元格重命名ftp的文件夹,也很耗时?

 

你修改ftp就是直接在阿里云里面修改的。不然你就用openqq,给服务器发送信息,服务器接收到以后,重命名文件夹。

 


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/11/19 15:14:00 [只看该作者]

老师关键是下面这段代码执行不了,如何处理?

        '=====ftp文件=======
        Dim fowjpth As String = "\图集规范\" & e.OldValue & "\" & dr("工程类型") & "\" & dr("分部工程")  & dr("标准名称")
        Dim fnwjpth As String = "\图集规范\" & e.NewValue & "\" & dr("工程类型") & "\" & dr("分部工程")  & dr("标准名称")
        If ftp1.DirExists(fowjpth) = False  Then  '判断指定的目录不存在
            ftp1.MakeDir(fnwjpth)                '在ftp上创建目录
        End If
        If ftp1.FileExists(fowjpth) Then
            ftp1.Rename(fowjpth,fnwjpth)
            'msgbox(1111)
        End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/19 15:37:00 [只看该作者]

1、加入msgbox定位哪句报错;

 

2、如果是这句出错 ftp1.MakeDir(fnwjpth),参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=127529&skin=0

 


 回到顶部