以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]ftp文件管理,请帮助修改一下代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=51074)

--  作者:zyqzyy
--  发布时间:2014/5/19 12:11:00
--  [求助]ftp文件管理,请帮助修改一下代码
Select Case e.DataCol.Name
    Case "附件"
        Dim ftp1 As new ftpclient
        ftp1.host= "192.168.1.9"
        ftp1.Port= "21"
        ftp1.Account = "hxh"
        ftp1.password = "12"
        Dim st As String  = "Photo1\\" & e.DataRow("年度") & "\\" & e.DataRow("分类") & "\\" & e.DataRow("标签")
        If ftp1.DirExists(st) Then   \'判断目录是否存在
            MessageBox.show("目录已经存在","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        Else
            MessageBox.show("目录不存在,是否创建!","提示",MessageBoxButtons.YesNo)
            ftp1.MakeDir("\\photo1")   \'逐步创建目录,FT现在还不能一次连子目录创建
            ftp1.MakeDir("\\photo1\\" & e.DataRow("年度"))
            ftp1.MakeDir("\\photo1\\" & e.DataRow("年度") & "\\" & e.DataRow("分类"))
            ftp1.MakeDir("\\photo1\\" & e.DataRow("年度") & "\\" & e.DataRow("分类") & "\\" & e.DataRow("标签"))    ‘按照表中的年度、分类和标签建立ftp目录
           ftp1.ChangeDir(st)
        End If
       \'以下是在本地机器上实现的,在ftp上如何实现?
        Dim sm As String = e.SourceFolder & "\\" & ftp1.CurrentDir
        Dim sn As String = e.SubFolder & "\\" & ftp1.CurrentDir                  
        If ftp1.FileExists(sm) Then \'如果指定的文件存在
            If ftp1.DirExists(sn)
                MessageBox.Show("文件已经存在!","提示")
                e.cancel = True
                Return
            ElseIf FileIsOpened(sm)= True Then
                MessageBox.Show("文件已经打开!","提示")
                e.cancel = True
                Return
            Else
                Filesys.copyFile(sm,sn) \'先复制
                FileSys.DeleteFile(sm,2,3) \'则彻底删除之
            End If
           
            e.cancel = True
            If e.DataRow.isnull(e.DataCol.name) Then
                e.DataRow(e.DataCol.name) = e.filename
            Else
                e.DataRow(e.DataCol.name) = e.DataRow(e.DataCol.name) & vbcrlf & e.filename
            End If
        End If
End Select

--  作者:Bin
--  发布时间:2014/5/19 12:16:00
--  
FTP无法打开文件,也存在文件已经打开这个情况.  其余的都一样的啊. 改用FTP的代码即可
--  作者:有点甜
--  发布时间:2014/5/19 13:43:00
--  

楼主,错了,你ftp1不要new出来,要直接用列里面的。然后设置ftp1的RootDir

 

http://www.foxtable.com/help/topics/1477.htm

 


--  作者:zyqzyy
--  发布时间:2014/5/19 15:00:00
--  

我是只菜鸟,还没搞定!


--  作者:有点甜
--  发布时间:2014/5/19 15:03:00
--  
 现在是报错,还是怎样?
--  作者:zyqzyy
--  发布时间:2014/5/19 15:26:00
--  

不报错,就是服务器里面没有上传的文件


--  作者:zyqzyy
--  发布时间:2014/5/19 15:30:00
--  

上个例子,看能否解决,快没信心了!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ftp文件管理.zip


--  作者:zyqzyy
--  发布时间:2014/5/19 15:33:00
--  
本来用ftp文件管理器也已解决,但想通过这个方法进一步熟悉熟悉!
--  作者:有点甜
--  发布时间:2014/5/19 15:34:00
--  
以下是引用zyqzyy在2014-5-19 15:26:00的发言:

不报错,就是服务器里面没有上传的文件

 

你是不是应该设置一下列属性?把附件列设置成ftp文件列?


--  作者:zyqzyy
--  发布时间:2014/5/19 15:40:00
--  
通过列属性设置,上传、下载是成功的,就是想通过代码来实现一下,请老师帮我细看一下!