Foxtable(狐表)用户栏目专家坐堂 → [求助]FTP 上传过程出现意外错误,上传失败(已解决)


  共有7170人关注过本帖树形打印复制链接

主题:[求助]FTP 上传过程出现意外错误,上传失败(已解决)

帅哥哟,离线,有人找我吗?
洮沙
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:7253 威望:0 精华:0 注册:2017/8/31 12:07:00
[求助]FTP 上传过程出现意外错误,上传失败(已解决)  发帖心情 Post By:2022/9/25 17:21:00 [只看该作者]

Dim ftp1 As New FtpClient
ftp1.Host = "***"
ftp1.Account = "***"
ftp1.Password = "***"
If ftp1.Connected = False Then'如果FTP没有连接
    If ftp1.Connect Then '连接FTP
        If ftp1.Upload(Zipfl, "\sn\" & filesys.GetName(Zipfl), True) = True Then '如果上传成功     这一句好像有问题,远程文件目录用:\web\sn\测试一样的问题
            Messagebox.show("已上传FTP服务器,请通知客户下载!", "提示", MessageBoxButtons.OK)
        Else
            Messagebox.show("上传失败!", "提示", MessageBoxButtons.OK)
        End If
       ’ftp1.OpenManager() '如果连接成功,打开FTP客户端   如果改为手动选择上传可以执行
    Else
        Messagebox.show("连接FTP失败,请手动上传!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End If
End If

老师有以上代码,始终显示上传不成功,麻烦指正一下,谢谢!

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


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

[此贴子已经被作者于2022/9/26 11:25:12编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/25 20:55:00 [只看该作者]

    If ftp1.Connect Then '连接FTP
msgbox(Zipfl)
msgbox("\sn\" & filesys.GetName(Zipfl))
        If ftp1.Upload(Zipfl, "\sn\" & filesys.GetName(Zipfl), True) = True Then 

 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:7253 威望:0 精华:0 注册:2017/8/31 12:07:00
  发帖心情 Post By:2022/9/26 7:26:00 [只看该作者]

Dim zipfl As String = "E:\开发的程序\软件授权\Reports\6D4C31081DC5704F7A23BBA17AAA8701.zip"
If FileSys.FileExists(Zipfl) Then '再次检查备份文件是否存在
    Messagebox.Show("zip文件创建成功,即将上传FTP服务器!", "提示")
    '上传zip文件到FTP
    Dim ftp1 As New FtpClient
    ftp1.Host = "***"
    ftp1.Account = "***"
    ftp1.Password = "***"
    ftp1.RootDir = "\web"
    If ftp1.Connected = False Then'如果FTP没有连接
        If ftp1.Connect Then '连接FTP
            msgbox(Zipfl)
            msgbox("\sn\" & filesys.GetName(Zipfl))
            If ftp1.Upload(Zipfl, "\sn\" & filesys.GetName(Zipfl), True) = True Then '如果上传成功
                Messagebox.show("已上传至FTP服务器,请通知客户下载!", "提示", MessageBoxButtons.OK)
            Else
                Messagebox.show("上传至FTP服务器失败!", "提示", MessageBoxButtons.OK)
            End If
        Else
            Messagebox.show("连接FTP失败,请手动上传!", "提示", MessageBoxButtons.OK)
        End If
    End If
Else
    Messagebox.Show("zip文件创建失败,请手动创建后再上传至FTP服务器!", "提示")
End If

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

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

如果将打开FTP管理器代码加上并按照以下代码顺序:
 ftp1.OpenManager() '如果连接成功,打开FTP客户端
 If ftp1.Upload(Zipfl, "\sn\" & filesys.GetName(Zipfl), True) = True Then '如果上传成功
      Messagebox.show("已上传至FTP服务器,请通知客户下载!", "提示", MessageBoxButtons.OK)
 Else
       Messagebox.show("上传至FTP服务器失败!", "提示", MessageBoxButtons.OK)
End If

执行结果:
第1步、能打开FTP管理器,选择任意目录,无需其他操作,直接关闭FTP管理器;
第2步、提示"已上传至FTP服务器,请通知客户下载!";   

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20220926072308.png
图片点击可在新窗口打开查看
第3步、从FTP服务器查看,确实已经上传成功,如下图:

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


昨天反反复复测试了一下午,始终不得其解,麻烦老师帮忙看一下,谢谢!

再次测试:
 msgbox("1" & ftp1.CurrentDir)     '显示结果:1/
 Dim dls As List(Of String) 
 dls = ftp1.GetDirList("")
 For Each dl As String In dls
        Output.Show(dl)            
Next                                          ’显示结果:Backup
                                                                LOG
                                                                WEB
ftp1.ChangeDir("\web\sn")
msgbox("2" & ftp1.CurrentDir)     '显示结果:2/
        
ftp1.OpenManager() '如果连接成功,打开FTP客户端
msgbox("3" & ftp1.CurrentDir)      '显示结果:3/web/sn(所选文件夹名称)
[此贴子已经被作者于2022/9/26 8:47:25编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/26 8:57:00 [只看该作者]

去掉这2句:
    If ftp1.Connected = False Then'如果FTP没有连接
        If ftp1.Connect Then '连接FTP

然后
If ftp1.Upload(Zipfl, "\sn\" & filesys.GetName(Zipfl), True) = True Then '如果上传成功
改为下面试试
If ftp1.Upload(Zipfl, "\WEB\sn\" & filesys.GetName(Zipfl), True) = True Then '如果上传成功

 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:7253 威望:0 精华:0 注册:2017/8/31 12:07:00
  发帖心情 Post By:2022/9/26 9:09:00 [只看该作者]

蓝老师,还是一样的错误,好像是目录不对。
[此贴子已经被作者于2022/9/26 9:10:03编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/26 9:18:00 [只看该作者]

检查是不是设置了ftp权限:http://www.foxtable.com/webhelp/topics/3251.htm

或者有其它什么代码更改了ftp的操作路径

 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:7253 威望:0 精华:0 注册:2017/8/31 12:07:00
  发帖心情 Post By:2022/9/26 10:40:00 [只看该作者]

BeforeEnterFolder 代码如下:
If e.FolderName = "/web/sn" Then
   MessageBox.Show("/web/sn属性:" & e.FTPName)
End If

执行结果:

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

其他地方没有设置任何代码,只有此处用FTP,麻烦老师再想想办法,十分感谢!

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/26 10:42:00 [只看该作者]

去掉BeforeEnterFolder 代码。如果不是使用IIS做ftp网站的,改为使用IIS做网站测试

 回到顶部
帅哥哟,离线,有人找我吗?
洮沙
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:842 积分:7253 威望:0 精华:0 注册:2017/8/31 12:07:00
  发帖心情 Post By:2022/9/26 10:47:00 [只看该作者]

我的FTP是租用的虚拟主机自带的。

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/26 10:51:00 [只看该作者]

提供测试用户和密码,发给客服那边测试一下

 回到顶部
总数 11 1 2 下一页