Foxtable(狐表)用户栏目专家坐堂 → 直接在命令窗口中运行ftp下载会出错


  共有2586人关注过本帖平板打印复制链接

主题:直接在命令窗口中运行ftp下载会出错

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


加好友 发短信
等级:八尾狐 帖子:1926 积分:17403 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2016/4/7 23:13:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:360截图20160407224437584.jpg
图片点击可在新窗口打开查看

IE浏览器可以打开,但是点击那个升级文件时不会弹出下载对话框即没反应,

在远程文件管理器有时会显示列表失败, 451 another command is currently pending ,Please try again later,
然后一直提示上面这个:

重新关掉上传下载再次打开有时又提示如下:

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

重新关掉上传下载再次打开有时又正确如下:

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

手动下载自动升级的代码如下:
'连接FTP服务器
Dim ftp As New FtpClient
ftp.Host = ftp_Host  'ftp服务器地址
ftp.Account = ftp_User  'ftp登录帐号
ftp.Password = ftp_Pwd   'ftp登录密码
ftp.Port = ftp_Port  'ftp端口号
ftp.RootDir = "/Update" '如果升级所需文件刚好放置在FTP的根目录下,可以不用设置此属性;否则需要设置目录路径.
If TryConnectHost(ftp_Host) Then  '如果ftp的网络是通的检测是否有升级包
    If ftp.Connect Then '如果FTP没有连接,用备用域名连接
        '----新增临时升级目录----
        If FileSys.DirectoryExists("D:\UpdateTemporary") = False Then
            FileSys.CreateDirectory("D:\UpdateTemporary")
        End If
        '---先下载ftp服务器上的日期文件----------
        If ftp.Download("\Update\Update.Txt","D:\UpdateTemporary\Update.Txt") = True Then '如果下载升级日期文件成功
            Dim ud() As String = FileSys.ReadAllText("D:\UpdateTemporary\Update.Txt").Split("|")
            Dim Sdate1 As Date = Cdate(ud(0)) '服务器update.txt发布日期
            Dim Sdate2 As Date = Cdate(ud(1)) '服务器Version.txt发布日期
            Dim Cdate1 As Date = PublishDate '客户端发布日期
            Dim Cdate2 As Date = FileSys.ReadAllText(ProjectPath & "\Bin\Version.txt") '客户端Version.txt发布日期
            
            If Sdate2 > Cdate2 Then '如果服务器程序发布日期大于客户端发布日期(大升级)
                'If MessageBox.Show("发现新的版本更新,发布日期:" & Sdate2 & ",是否升级?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                If ftp.Download("\Update\Update2.Zip","D:\UpdateTemporary\Update2.Zip") = True Then '如果下载程序文件成功
                    UpdatePath = "D:\UpdateTemporary"
                    RemoteUpdate = False
                    If Syscmd.Project.Update(False,True) = True Then '发现新版本时不提示用户,因为前面已提示过
                        '----删除临时升级目录----
                        If FileSys.DirectoryExists("D:\UpdateTemporary") = True Then
                            FileSys.DeleteDirectory("D:\UpdateTemporary",2,2)
                        End If
                        Return '升级完成后必须先中止后面的代码,否则会出错
                    End If
                End If
                ' End If
            ElseIf Sdate1 > Cdate1 Then '如果服务器版本发布日期大于客户端发布日期(小升级)
                'If MessageBox.Show("发现新的更新,发布日期:" & Sdate1 & ",是否升级?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                If ftp.Download("\Update\Update1.Zip","D:\UpdateTemporary\Update1.Zip") = True Then '如果下载程序文件成功
                    UpdatePath = "D:\UpdateTemporary"
                    RemoteUpdate = False
                    If Syscmd.Project.Update(False,True) = True Then '发现新版本时不提示用户,因为前面已提示过
                        '----删除临时升级目录----
                        If FileSys.DirectoryExists("D:\UpdateTemporary") = True Then
                            FileSys.DeleteDirectory("D:\UpdateTemporary",2,2)
                        End If
                        Return '升级完成后必须先中止后面的代码,否则会出错
                    End If
                End If
                'End If
            Else
                MessageBox.Show("您正在使用的已经是最新版本!")
            End If
        End If
    End If
End If

执行这段代码后在电脑的D盘下会出现一个
Update.Txt.fxdlif  这个没有下载成功的文件,当然升级就不成功了







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