Foxtable(狐表)用户栏目专家坐堂 → 示助:如何在文件管理器中增加加文件后删除源文件


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

主题:示助:如何在文件管理器中增加加文件后删除源文件

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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
示助:如何在文件管理器中增加加文件后删除源文件  发帖心情 Post By:2014/3/10 16:58:00 [只看该作者]

1、在文件管理器中增加文件后,源文件夹中文件自动复制到指定目录后,源文件如果再保留容易造成混淆,我想增加文件后就当时删除源文件夹中文件,只保留一份文件,这段代码该在那个事件中写

2、文件管理器中添加文件夹后,文件管理器中显示的路径还是源文件夹的路径,没有自动复制到指定的目录下,如何能自动复制


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 17:05:00 [只看该作者]

BeforeAttachFile中处理即可

e参数属性:

DataTable: 触发事件的DataTale
DataRow: 触发事件的DataRow
DataCol: 触发事件的DataCol
SourceFolder: 要添加文件的来源目录
FileName: 要添加文件的名称,你可以根据需要改名。
SubFolder: 指定存放文件的子目录
Cancel: 逻辑型,是否取消此次添加。


可以利用 e.SourceFolder 获得原始路径



2.你是在属性中设置为自动复制?


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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2014/3/10 17:20:00 [只看该作者]

1、我在 BeforeAttachFile 事件中写以下代码:

 Dim sm As String = e.SourceFolder & "\" & e.FileName
  If FileSys.FileExists(sm) Then '如果指定的文件存在
      FileSys.DeleteFile(sm,2,3) '则彻底删除之
  End If    

执行后,文件倒是删除了,但不能复制到指定文件夹中,提示找不到文件

2、是在属性中设置为自动复制


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 17:23:00 [只看该作者]

1.那没办法了.
2.你搞错路径了吧,否则没道理不自动复制

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


加好友 发短信
等级:六尾狐 帖子:1198 积分:7859 威望:0 精华:0 注册:2013/5/17 14:26:00
  发帖心情 Post By:2014/3/10 17:27:00 [只看该作者]

用户已经被屏蔽

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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2014/3/10 17:31:00 [只看该作者]

2、我以桌面文件夹为例:点文件管理器“目录”后,显示[C:\Users\lenovo\Desktop\Catch],这还是桌面文件夹,在指定文件夹中没有找到这个目录。路径没有搞错,在BeforeAttachFile 事件中有以下代码;

 

      Dim st As String  =ProjectPath & "Attachments\" & e.DataRow("年度") & "\" & e.DataRow("分类") & "\" & e.DataRow("标签")
        If FileSys.DirectoryExists(st) Then '如果目录 st 存在
            DataTables("文档管理").DataCols("附件").DefaultFolder = st
        Else
            FileSys.CreateDirectory(st)
            DataTables("文档管理").DataCols("附件").DefaultFolder = st
        End If

 

执行后,到附件列属性中看到附件列属性中存放目录就是指定的目录

1、的问题还请专家们给个方案



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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 17:39:00 [只看该作者]

其实还是可以实现的.
BeforeAttachFile 
在这里删除源文件
再利用SubFolder 获得你要存放文件的位置,使用代码存放过去.

最后再执行E.Cancel=TRUE

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


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

你先自动复制,再删除吧:

 

Dim sm As String = e.SourceFolder & "\" & e.FileName
If FileSys.FileExists(sm) Then '如果指定的文件存在

      Filesys.copyFile(sm,projectpath & "Attachments\" & e.FileName,True) '先复制
      FileSys.DeleteFile(sm,2,3) '则彻底删除之
End If    


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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2014/3/10 20:24:00 [只看该作者]

图片点击可在新窗口打开查看执行后出现这样
图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-3-10 20:27:02编辑过]

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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2014/3/10 20:29:00 [只看该作者]

狐爸应该添加一个 AfterAttachFile 事件


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