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编辑过]