以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]BeforeDeleteFile事件求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=153651) |
-- 作者:huangfanzi -- 发布时间:2020/8/18 13:30:00 -- [求助]BeforeDeleteFile事件求助 以下代码有一个错误,请老师指导下: FTP上传文件后,如果我查看上传的文件(FileManager控件),系统会自动下载文件到本地的RemoteFiles目录,然后点在控件窗口中点删除,服务器上文件删除,本地也会跟着删除,这个没有问题 现在的问题是,如果上传文件后,我不查看,也就是说不会有文件下载到本地的RemoteFiles目录,然后发现某个文件上传错误了,直接点删除,由于本地没有此文件,因此就会报错 如何写代码判断下,如果本地没发现此文件,就不要执行红字部分代码 谢谢老师 If e.DataCol.name = "附件" Then Dim Result As DialogResult Result = MessageBox.Show("确定要删除文件【" & e.FileName & "】?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then _ftp.DeleteFile(e.FileName) FileSys.DeleteFile(ProjectPath & "RemoteFiles\\" & e.FileName.Replace("/","\\")) \'同步删除本机上的文件 Dim fls As List(of String) fls = _ftp.GetFileList(e.DataRow("货转编号")) \'返回此FTP目录下的文件数 If fls.Count = 0 Then _ftp.DeleteDir(e.DataRow("货转编号"),True) \'直接删除此目录及下面的所有文件 FileSys.DeleteDirectory(ProjectPath & "RemoteFiles" & _ftp.RootDir.Replace("/","\\") & "\\" & e.DataRow("货转编号"),2,2) \'删除本机的目录 End If e.DataRow.Save _ftp.Close Else e.Cancel = True End If End If
|
-- 作者:有点蓝 -- 发布时间:2020/8/18 13:57:00 -- 先判断在删除咯:http://www.foxtable.com/webhelp/topics/0337.htm |