以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  FTP问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=160049)

--  作者:BG小白
--  发布时间:2021/1/18 23:30:00
--  FTP问题
Dim str1 As String
str1= FileSys.GetName(dlg.FileName)
If ftp1.DirExists(str) Then
    ftp1.ChangeDir(str)
    If ftp1.FileExists(str1) = True Then
        MessageBox.Show("已有重名文件")
        Return
    Else
        If ftp1.Upload(dlg.FileName) = True Then
            Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            e.form.controls("TextBox4").text = FileSys.GetName(dlg.FileName)
        Else
            Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If
    End If

为什么红色那段代码没有效果,我里面已经有个名为1的文件了,但是还能上传,是不是因为目录的原因呢?

--  作者:BG小白
--  发布时间:2021/1/18 23:54:00
--  
还有就是如果我使用FTP管理器打开大概5-6次,就会连接失败,要么重新打开程序,要么去服务器释放一下内存就好了,这是什么原因呢?
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20210118235514.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2021/1/18 23:56:45编辑过]

--  作者:有点蓝
--  发布时间:2021/1/19 8:58:00
--  
1、可能忘记是在ftp的子目录里,直接判断文件名只是判断根目录有没有这个文件
2、如果是使用代码打开ftp管理器的,记得最后Close关闭ftp连接

--  作者:BG小白
--  发布时间:2021/1/19 14:08:00
--  
Dim str1 As String
str1= FileSys.GetName(dlg.FileName)
Dim str As String
str= cb.Value
MessageBox.Show("/" & str & "/" & str1 & "")
If ftp1.FileExists("/" & str & "/" & str1 & "") = True Then
    MessageBox.Show("已有重名文件")
    Return
End If

我加了目录还是不行

--  作者:有点蓝
--  发布时间:2021/1/19 14:21:00
--  
说明路径还是不对,另外改为反斜杠\\试试.


--  作者:BG小白
--  发布时间:2021/1/19 14:29:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
路径是对的啊,我反斜杠也试了,不行啊

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


--  作者:BG小白
--  发布时间:2021/1/19 14:37:00
--  
刚刚做了个测试
MessageBox.Show(ftp1.FileExists("\\" & str & "\\" & str1 & ""))
MessageBox.Show(ftp1.FileExists("/" & str & "/" & str1 & ""))
显示的都是 False

--  作者:BG小白
--  发布时间:2021/1/19 14:38:00
--  
MessageBox.Show(ftp1.GetFileList("/" & str & "/").Contains(" & str1 & "))
MessageBox.Show(ftp1.GetFileList("\\" & str & "\\").Contains(" & str1 & "))
显示的都是 False

--  作者:有点蓝
--  发布时间:2021/1/19 14:41:00
--  
是不是设置了RootDir?
--  作者:BG小白
--  发布时间:2021/1/19 14:44:00
--  
没有设置根目录,设置了,我就不判断目录在不在了