以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]扩展列文件保存位置问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63544) |
-- 作者:cqlwsam -- 发布时间:2015/1/23 9:41:00 -- [求助]扩展列文件保存位置问题 数据库中有多文件扩展列。计划采用FTP方式保存。但存在网络不通问题。需加一个判断。如果:网络通畅,则保存在服务器上;如果网络不通,先保存在本地,网络通畅后在上传服务器。请教判断代码如何写!谢谢! |
-- 作者:Bin -- 发布时间:2015/1/23 9:48:00 -- 呵呵,这个不是简单的一两句代码可以判断写的. 是个复杂的过程. 思路大概是,添加文件时,在添加文件事件利用PINg判断网络是否通http://www.foxtable.com/help/topics/1401.htm 不同则取消,转而存到本地,并且把路径地址文件名和标记存放到另外一列,或者专门起一个表. 可以在计时器中用多线程定时检测网络是否通,通就遍历未上传的文件上传上去,要想不影响操作,不卡顿,就得用多线程 FTP上传看http://www.foxtable.com/help/topics/1410.htm 也可以额外用一个按钮,点击就判断服务器是否通,通就批量上传.
|
-- 作者:cqlwsam -- 发布时间:2015/1/23 10:15:00 -- If TryConnectHost("127.0.0.1") Then Dim ftp1 As New FtpClient If ftp1.DirExists(txt) Then Dim Result As DialogResult Result = MessageBox.Show("系统中存在同名目录,需要保留原来的数据吗?","提醒",MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) If Result = DialogResult.yes Then .save() .refresh Else If Result = DialogResult.no Then Dim fls As List(of String) fls = ftp1.GetFileList(txt) For Each fl As String In fls ftp1.DeleteFile(fl) Next Else .current.reject() .Refresh Return End If Else ftp1.MakeDir(txt) .save() .Refresh End If Else MessageBox.Show("网络不通,文件暂时保存在本地,网络联通后再行上传!!","提醒!!",MessageBoxButtons.OK,MessageBoxIcon.Information) Dim pth As String = ProjectPath & "Attachments\\" & txt If FileSys.DirectoryExists(pth) Then Dim Result As DialogResult Result = MessageBox.Show("系统中存在同名目录,需要保留原来的数据吗?","提醒",MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) If Result = DialogResult.yes Then .save() .refresh Else If Result = DialogResult.no Then For Each File As String In FileSys.GetFiles(pth) If file Like "*.*" Then FileSys.DeleteFile(file,3,3) End If Next Else .current.reject() .Refresh Return End If Else filesys.CreateDirectory(pth) .save() .Refresh End If End If |
-- 作者:cqlwsam -- 发布时间:2015/1/23 10:17:00 -- ftp下如何将一个目录下的文件移动另一个目录下。好像没得move一类的命令 |
-- 作者:有点甜 -- 发布时间:2015/1/23 10:19:00 -- 参考
Rename 用于重命名文件或目录,语法: Rename(currentName, newName) currentName:要重命名的文件或目录,含路径。 如果重命名成功,则返回True,否则返回False. |
-- 作者:Bin -- 发布时间:2015/1/23 10:19:00 -- 用rename 看看行不行 Rename 用于重命名文件或目录,语法: Rename(currentName, newName) currentName:要重命名的文件或目录,含路径。 如果重命名成功,则返回True,否则返回False. 示例 重命名文件: Dim ftp1 As New FtpClient |
-- 作者:Bin -- 发布时间:2015/1/23 10:20:00 -- 可以的,帮助有说 例如将文件"jz.png"从photo目录移到到newkey目录: Dim ftp1 As New FtpClient MakeDir |