Foxtable(狐表)用户栏目专家坐堂 → ftp默认下载目录的问题


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

主题:ftp默认下载目录的问题

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
ftp默认下载目录的问题  发帖心情 Post By:2018/4/15 11:53:00 [只看该作者]

想用ftp来存放一些文件,内外网都可以使用,下面是点击按钮打开ftp上文件的代码
'连接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端口号

If TryConnectHost(ftp_Host) Then  '如果ftp的网络是通的检测是否有升级包
    If ftp.Connect Then '如果FTP没有连接,用备用域名连接
        '---先下载ftp服务器上的日期文件----------
        If ftp.Download("\使用指南\" & e.Button.Text & ".Exe", ProjectPath & "RemoteFiles\" & e.Button.Text & ".Exe", True) Then '如果下载文件成功
            '打开本地下载的文件
            Dim Proc As New Process '定义一个新的Process
            Proc.File = ProjectPath & "RemoteFiles\" & e.Button.Text & ".Exe" '指定要打开的文件
            Proc.Start()
        Else
            MessageBox.Show("ftp下载文件失败,请稍后再试!")
        End If
        ftp.Close  '关闭本次连接
    Else
        MessageBox.Show("无法连接ftp服务器,请稍后再试!")
    End If
End If 
问题:
1 是否项目安装后如果有用ftp下载过文件,在安装路径下面就一定会自动生成RemoteFiles这个目录来存入ftp下载的文件,不用人为指定ftp下载目录?
2 每次升级后因为会覆盖安装目录project下的文件,原来已下载的文件是否会被清除,即每次要打开时都重新下载

谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/15 12:22:00 [只看该作者]

 

[此贴子已经被作者于2018/4/15 12:21:41编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/15 12:23:00 [只看该作者]

1、RemoteFiles是foxtable自动生成的。但是,你写代码的时候,肯定要人为指定目录才行。

 

没看懂你要表达什么,想做什么。如果你像RemoteFiles是一致存在的,你可以在制作安装包的时候,就新建一个。

 

2、不会,同名的文件才会覆盖,不同名的是新增。


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


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

就是在ftp的使用指南文件夹下保存了所有录制的.exe的操作视频,每个用户使用过程中都可以点击下载到本地打开观看,我看每个项目下都有个
RemoteFiles文件夹,因为我没有建立过这个文件夹,如果默认就有我的ftp下载代码中就固定用这个文件夹(怕有的电脑上如果没有这个文件夹就会出错)

如果类似下面这样自建目录
   '----新增目录----
        Dim Path As String  = "D:\UpdateTemporary"
        If FileSys.DirectoryExists(Path) = False Then
            FileSys.CreateDirectory(Path)
        End If

有遇到这种情况,有的用户的电脑操作系统安装后根本没有D盘或者有人的笔记本电脑只有一个C盘这样运行也会出错,所以才想如果ft会自动创建我就不用管这些问题了


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/15 15:51:00 [只看该作者]

RemoteFiles 在项目文件夹里面,如果确实担心,你发布生成程序之后,再多新建一个叫做 RemoteFiles 的文件夹,不就行了。

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/4/15 20:41:00 [只看该作者]

如查窗口表中有一个多文件列,同时窗口上有一个文件管理器绑定到这列,都是放在远程ftp上,如下代码

DataTables("通知_主表").DataCols("附件").ExtendType = ExtendTypeEnum.Files

'绑定控件
Dim flm As WinForm.FileManager = e.Form.Controls("FileManager1")
flm.BindingField = e.Form.name & "_主表.附件"
flm.CommandVisible = False '不显示底端命令按钮

Dim ftp As New FtpClient
DataTables(e.form.name & "_主表").DataCols("附件").Remote = True
DataTables(e.form.name & "_主表").DataCols("附件").FTPClient.Host = ftp_Host
DataTables(e.form.name & "_主表").DataCols("附件").FTPClient.Account = ftp_User
DataTables(e.form.name & "_主表").DataCols("附件").FTPClient.password = ftp_Pwd
DataTables(e.form.name & "_主表").DataCols("附件").FTPClient.port = ftp_Port  'ftp端口不是21时必须指定
DataTables(e.form.name & "_主表").DataCols("附件").FTPClient.UTF8 = True '避免中文乱码
DataTables(e.form.name & "_主表").DataCols("附件").FTPClient.RootDir = "/附件"

ftp.Host = ftp_Host  'ftp服务器地址
ftp.Account = ftp_User  'ftp登录帐号
ftp.Password = ftp_Pwd   'ftp登录密码
ftp.Port = ftp_Port  'ftp端口号
ftp.UTF8 = True  '避免乱码
flm.FTPclient = ftp

表中列与文件管理器控件都要分别设置ftpClient才可以,为什么设置了列的ftpClient,而且也绑定了,
但不要红色的代码的话双击打开文件管理器控件中的文件就会出错

谢谢!



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/15 21:10:00 [只看该作者]

直接设置ftpclient即可,如

 

flm.FTPclient = DataTables(e.form.name & "_主表").DataCols("附件").FTPClient


 回到顶部