以文本方式查看主题

-  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=53412)

--  作者:jaegea
--  发布时间:2014/7/7 14:36:00
--  FTP无法创建多级目录??

如题

 

Dim ftp1 As New FtpClient
ftp1.Host="196.128.143.28"
ftp1.Account = "foxuser"
ftp1.Password = "138238110"
If ftp1.MakeDir("\\photo\\hdx") Then
    Messagebox.Show("创建目录成功!")
Else
    Messagebox.Show("创建目录失败!")
End If

 

以上帮助例子执行创建失败


--  作者:zyqzyy
--  发布时间:2014/7/7 14:46:00
--  

ftp目录只能逐级创建。

这是我的代码,供参考

Select Case e.DataCol.Name
    Case "附件"
        If e.DataRow.Isnull("名称") OrElse e.DataRow.Isnull("主要内容") OrElse e.DataRow.Isnull("第一分类") OrElse e.DataRow.Isnull("第二分类") OrElse e.DataRow.Isnull("第三分类") Then
            MessageBox.Show("请填写名称,主要内容,分类信息","提示")
            e.Cancel = True
            Return
        End If
        Dim str As DataRow = DataTables("类型").DataRows(0)  \'在这个表设置ftp连接信息
        Dim ftp1 As new ftpclient
        ftp1.host= str("IP")
        ftp1.Port= str("Port")
        ftp1.Account = str("Account")
        ftp1.password = str("Password")
        ftp1.Close()       
        If ftp1.Connect  Then   
            ftp1.TimeOut = 10000
        Else
            Messagebox.show("服务器连接失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
            e.Cancel = True
            Return
        End If
        If  e.DataRow.Isnull("第一分类") = False Then
            Dim st As String  = "DoShare\\"  & e.DataRow("第一分类") & "\\" & e.DataRow("第二分类") & "\\" & e.DataRow("第三分类")
            If ftp1.DirExists(st) Then   \'判断目录是否存在,为真 设置打开FTP文件对话框的初始目
                \'MessageBox.show("目录已经存在","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.path = "/DoShare/" & e.DataRow("第一分类") & "\\" & e.DataRow("第二分类") & "\\" & e.DataRow("第三分类")
            Else
                Dim Result As DialogResult
                Result =MessageBox.show("目录不存在,是否创建!","提示",MessageBoxButtons.YesNo)
                If Result = DialogResult.Yes Then
                    ftp1.MakeDir("\\DoShare")   \'逐步创建目录,FT现在还不能连同子目录一次性创建
                    ftp1.MakeDir("\\DoShare\\" & e.DataRow("第一分类"))
                    ftp1.MakeDir("\\DoShare\\" & e.DataRow("第一分类") & "\\" & e.DataRow("第二分类"))
                    ftp1.MakeDir("\\DoShare\\" & e.DataRow("第一分类") & "\\" & e.DataRow("第二分类") & "\\" & e.DataRow("第三分类"))
                    e.path = "/DoShare/" & e.DataRow("第一分类") & "\\" & e.DataRow("第二分类") & "\\" & e.DataRow("第三分类")
                End If
            End If            
        End If
End Select

[此贴子已经被作者于2014-7-7 14:47:56编辑过]