以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  FTP批量下载到文件夹的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118455)

--  作者:douglas738888
--  发布时间:2018/5/3 12:15:00
--  FTP批量下载到文件夹的问题

请教老师,下面代码,从FTP上下载单列的文件形成动态姓名的文件夹含文件没有问题,

 

问题:表中同姓名下的多行或多列勾选逻辑列进行批量下载到指定文件夹内的动态同文件夹内,但是根目录又不一样,一个是证件,另一个是简历,不知怎样写这种代码

 

       姓名            名称             简历            证件图片                  下载       路径

 

       AA              简历              doc       免冠证件照.jpg               √         F:/下载              横向两列同时下载,下载到F:/下载/AA/

       AA              aa证件                              证件1                    √         F:/下载

       AA              bb证件                              证件2                    √         F:/下载

  BB       cc证件           证件3       √       F:/下载

                                                                                 竖向多行同时下载,下载到F:/下载/AA/

                                                                                                                   F:/下载/BB/

Dim ftp1 As New FtpClient
ftp1.Host="120.86.178.198"
ftp1.Account = "xxxxx"
ftp1.Password = "xxxxx"
ftp1.RootDir = "\\证件" \'设置根目录 这里会出现不同的根目录
For Each dr As DataRow In DataTables("表A").Select("[下载] = true ")
    Dim path As String =  Tables("表A").Current("路径") & "\\" & Tables("表A").Current("姓名") & "\\" & Tables("表A").Current("证件图片")
    ftp1.Download(dr("证件图片"), path, True)   
Next
ftp1.Close

[此贴子已经被作者于2018/5/3 12:16:10编辑过]

--  作者:有点甜
--  发布时间:2018/5/3 12:27:00
--  

1、你的ftp的路径必须明确,或者可以合成得到ftp文件的路径;

 

2、下载后的文件名必须明确;

 

如果不能保证1、2,那就不不能下载。

 

Dim ftp1 As New FtpClient
ftp1.Host="120.86.178.198"
ftp1.Account = "xxxxx"
ftp1.Password = "xxxxx"
ftp1.RootDir = "/" \'设置根目录 这里会出现不同的根目录
For Each dr As DataRow In DataTables("表A").Select("[下载] = true ")
    Dim path As String =  dr("路径") & "\\" & dr("姓名") & "\\" & dr("证件图片")
    ftp1.Download("/证件/" & dr("证件图片"), path, True)
    path =  dr("路径") & "\\" & dr("姓名") & "\\" & dr("简历")
    ftp1.Download("/简历/" & dr("证件图片"), path, True)
Next
ftp1.Close

[此贴子已经被作者于2018/5/3 12:26:58编辑过]

--  作者:douglas738888
--  发布时间:2018/5/3 14:28:00
--  

老师,现在文件夹的生成是符合要求了,但是无法下载文件到文件夹,550路径报错

 

例如:下面的代码就能生成想要的文件夹,也能下载文件到动态文件夹里面,路径是对的

Dim ftp1 As New FtpClient
ftp1.Host="120.86.178.198"
ftp1.Account = "xxxxx"
ftp1.Password = "xxxxx"
ftp1.RootDir = "/简历" \'设置根目录 这里设置根目录就可以    这里设置成“/”550报错
For Each dr As DataRow In DataTables("表A").Select("[下载] = true ")
    Dim path As String

    path = dr("路径") & "\\" & dr("姓名") & "\\" & dr("简历")
    ftp1.Download(dr("证件图片"), path, True) \'如果在这里设置成("/简历/" & dr("证件图片"), path, True),550报错
Next
ftp1.Close

[此贴子已经被作者于2018/5/3 14:33:37编辑过]

--  作者:有点甜
--  发布时间:2018/5/3 15:02:00
--  

Dim ftp1 As New FtpClient
ftp1.Host="120.86.178.198"
ftp1.Account = "xxxxx"
ftp1.Password = "xxxxx"
For Each dr As DataRow In DataTables("表A").Select("[下载] = true ")   
    ftp1.RootDir = "/证件"
    Dim path As String =  dr("路径") & "\\" & dr("姓名") & "\\" & dr("证件图片")
    ftp1.Download(dr("证件图片"), path, True)
   
    ftp1.RootDir = "/简历"
    path =  dr("路径") & "\\" & dr("姓名") & "\\" & dr("简历")
    ftp1.Download(dr("简历"), path, True)
Next
ftp1.Close