以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]FolderBrowserDialog上传目录 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78911) |
||||
-- 作者:huhu -- 发布时间:2015/12/20 16:40:00 -- [求助]FolderBrowserDialog上传目录 FolderBrowserDialog 好像只能选择一个目录,多个目录好像不行。 Upload也只能上传文件,不能上传目录。 有办法可以选择目录上传吗?
|
||||
-- 作者:大红袍 -- 发布时间:2015/12/20 16:45:00 -- 上传目录的方法
ftp.UploadDirectory(ProjectPath & "Images", False) |
||||
-- 作者:huhu -- 发布时间:2015/12/20 17:04:00 -- 下面是我原来上传文件的代码。现在想改为选择了一个A目录上传,A目录包括2个子目录B和C,B和C各有文件。其他的不变。 怎么改? Dim bh As String = Tables("临时版本跟踪表").Current("临时版本编号") Dim lsbbbh As String = Tables("临时版本跟踪表").current("临时版本编号") & "(" & Tables("临时版本跟踪表").current("客户") & "_" & Tables("临时版本跟踪表").current("博达机型") & ")" Dim dlg As new OpenFileDialog dlg.MultiSelect = True If dlg.ShowDialog = DialogResult.OK Then Dim s As String s = "你选择了" & dlg.FileNames.Length & "个文件, 分别是:" For Each f1 As String In dlg.FileNames s = s & vbcrlf & f1 Next MessageBox.Show(s,"你选择的文件数量及其路径如下:") Dim ftp As new FTPClient ftp.Host = "124.74.246.246" ftp.Account = "tester" ftp.Password = "tester" e.Form.text = lsbbbh & "*~*~*" & "所选文件上传中...." Dim ss As String Dim fname As String Dim Values As New List(Of String) For Each f2 As String In dlg.FileNames Dim f3 As String = FileSys.GetName(f2) \'取出f2的文件名 If f3.EndsWith("_vxWorks") Then Dim idx As Integer = f3.LastIndexOf("_vxWorks") fname = f3.SubString(0, idx-1) & "_" & bh & "_vxWorks" Else Dim idx As Integer = f3.LastIndexOf(".") If idx > -1 Then fname = f3.SubString(0, idx) & "_" & bh & f3.SubString(idx) Else fname = f3 & "_" & bh End If End If If (ftp.Upload(f2,Vars("zhygwjj") & "\\" & fname))= True Then \'判断是否上传成功 values.add(f2) \'如果上传成功,那么就把这个文件添加到集合values里面 ss = ss & vbcrlf & fname \'分行显示重命名后的fname的文件名 End If Next Functions.Execute("listview") e.Form.text = lsbbbh & "*~*~*" & "版本目录文件list" MessageBox.Show(ss,"恭喜你上传成功" & values.count & "个文件!,重命名后的文件名分别为:") ftp.Close End If |
||||
-- 作者:大红袍 -- 发布时间:2015/12/20 17:05:00 -- ftp.UploadDirectory("文件夹路径啊", False) |
||||
-- 作者:huhu -- 发布时间:2015/12/20 17:26:00 -- Dim dlg As New FolderBrowserDialog If dlg.ShowDialog = DialogResult.Ok Then MessageBox.Show("你选择的目录是:" & dlg.SelectedPath,"提示") Dim s As String s = "你选择了" & dlg.getdirlist.count & "个文件, 分别是:" For Each f1 As String In dlg.getdirlists s = s & vbcrlf & f1 Next End If 目录A包括目录B和C,B和C各有文件. 如何取遍历A下面的所有文件(就是B和C所有的文件)
|
||||
-- 作者:大红袍 -- 发布时间:2015/12/20 17:29:00 -- 叫你上传目录A啊 |
||||
-- 作者:huhu -- 发布时间:2015/12/20 17:31:00 -- 我知道啊。我不是还需要对A里面所有的文件进行重命名么。 |
||||
-- 作者:大红袍 -- 发布时间:2015/12/20 17:40:00 -- 遍历文件参考
|
||||
-- 作者:huhu -- 发布时间:2015/12/20 18:17:00 -- Dim dlg As New FolderBrowserDialog dlg.ShowNewFolderButton = False If dlg.ShowDialog = DialogResult.Ok Then MessageBox.Show("你选择的目录是:" & dlg.SelectedPath,"提示") End If Dim ftp As new FTPClient ftp.Host = "124.74.246.246" ftp.Account = "tester" ftp.Password = "tester" e.Form.text = lsbbbh & "*~*~*" & "所选文件上传中...." ftp.UploadDirectory(dlg.Selectedpath,False) 搞不定这块东西。要遍历2个子目录B和C下面的所有的文件。并重命名。 搞不定。
|
||||
-- 作者:大红袍 -- 发布时间:2015/12/20 18:29:00 -- 看8楼啊。 |