以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- ftp默认下载目录的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117580) |
-- 作者:happyft -- 发布时间:2018/4/15 11:53:00 -- ftp默认下载目录的问题 想用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下的文件,原来已下载的文件是否会被清除,即每次要打开时都重新下载 谢谢!
|
-- 作者:有点甜 -- 发布时间:2018/4/15 12:22:00 --
[此贴子已经被作者于2018/4/15 12:21:41编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/4/15 12:23:00 -- 1、RemoteFiles是foxtable自动生成的。但是,你写代码的时候,肯定要人为指定目录才行。
没看懂你要表达什么,想做什么。如果你像RemoteFiles是一致存在的,你可以在制作安装包的时候,就新建一个。
2、不会,同名的文件才会覆盖,不同名的是新增。 |
-- 作者:HappyFt -- 发布时间: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会自动创建我就不用管这些问题了 |
-- 作者:有点甜 -- 发布时间:2018/4/15 15:51:00 -- RemoteFiles 在项目文件夹里面,如果确实担心,你发布生成程序之后,再多新建一个叫做 RemoteFiles 的文件夹,不就行了。 |
-- 作者:HappyFt -- 发布时间: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,而且也绑定了, 但不要红色的代码的话双击打开文件管理器控件中的文件就会出错 谢谢! |
-- 作者:有点甜 -- 发布时间:2018/4/15 21:10:00 -- 直接设置ftpclient即可,如
flm.FTPclient = DataTables(e.form.name & "_主表").DataCols("附件").FTPClient |