以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 示助:如何在文件管理器中增加加文件后删除源文件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=47449)
|
-- 作者:shixia
-- 发布时间:2014/3/10 16:58:00
-- 示助:如何在文件管理器中增加加文件后删除源文件
1、在文件管理器中增加文件后,源文件夹中文件自动复制到指定目录后,源文件如果再保留容易造成混淆,我想增加文件后就当时删除源文件夹中文件,只保留一份文件,这段代码该在那个事件中写
2、文件管理器中添加文件夹后,文件管理器中显示的路径还是源文件夹的路径,没有自动复制到指定的目录下,如何能自动复制
|
-- 作者:Bin
-- 发布时间:2014/3/10 17:05:00
--
在BeforeAttachFile中处理即可e参数属性:
DataTable: 触发事件的DataTale DataRow: 触发事件的DataRow DataCol:
触发事件的DataCol SourceFolder: 要添加文件的来源目录 FileName:
要添加文件的名称,你可以根据需要改名。 SubFolder: 指定存放文件的子目录 Cancel:
逻辑型,是否取消此次添加。
可以利用 e.SourceFolder 获得原始路径
2.你是在属性中设置为自动复制?
|
-- 作者:shixia
-- 发布时间: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
-- 发布时间:2014/3/10 17:23:00
--
1.那没办法了.2.你搞错路径了吧,否则没道理不自动复制
|
-- 作者:shixia
-- 发布时间: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
-- 发布时间:2014/3/10 17:39:00
--
其实还是可以实现的.BeforeAttachFile 在这里删除源文件 再利用SubFolder 获得你要存放文件的位置,使用代码存放过去.
最后再执行E.Cancel=TRUE
|
-- 作者:有点甜
-- 发布时间: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
-- 发布时间:2014/3/10 20:24:00
--
执行后出现这样 此主题相关图片如下:无标题.jpg
[此贴子已经被作者于2014-3-10 20:27:02编辑过]
|
-- 作者:shixia
-- 发布时间:2014/3/10 20:29:00
--
狐爸应该添加一个 AfterAttachFile 事件
|
-- 作者:有点甜
-- 发布时间:2014/3/10 20:34: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) \'则彻底删除之
e.cancel = true
if e.datarow.isnull(e.datacol.name) then
e.datarow(e.datacol.name) = e.filename
else
e.datarow(e.datacol.name) = e.datarow(e.datacol.name) & vbcrlf & e.filename
end if End If
|